【问题标题】:Is there a way for a Maven project to inherit report configurations from a pom dependency?Maven 项目有没有办法从 pom 依赖项继承报告配置?
【发布时间】:2011-05-26 21:19:21
【问题描述】:

我知道可以在父 POM 中配置该部分并将其应用于多模块项目中的子模块。但是,我希望有一个单独的 POM 作为依赖项来引用,这样我就可以有一个报告配置,我可以“混合”到各种项目中,而不必在多个项目中复制我的报告配置。 (请参阅此处的“依赖 POM”:http://sonatype.com/books/maven-book/reference/pom-relationships-sect-pom-best-practice.html

例如,对于我的 Widget 项目,我有一个包含两个子模块 widget-core 和 widget-web 的父 POM(widget-parent)。我想要一个单独的 POM,静态分析,小部件父依赖。静态分析将有一个定义 Checkstyle 和 FindBugs 报告的块。当我构建 Widget 时,我希望 Checkstyle 和 FindBugs 能够在 widget-core 和 widget-web 上运行。

如果您的解决方案仅适用于特定版本的 Maven,请告诉我。我们还没有升级到 3.x。

【问题讨论】:

    标签: reporting maven checkstyle pom.xml


    【解决方案1】:

    在 Maven 3 中,pom 中的报告元素消失了,取而代之的是站点插件的配置元素。然后,您可以使用通常的 pluginManagement 来定义在任何地方都可以使用的配置。无论如何,我建议总体上升级到 Maven 3,这给了你另一个很好的理由..

    更新:报告元素已恢复并再次与最新版本的站点插件一起使用。

    【讨论】:

    • 所以我可以在我的“依赖 POM”中添加一个 pluginManagement 部分,并让它像在父 POM 中一样工作?
    • 你可以将它添加到父 pom.xml 中。仅在 Maven 3.1 中添加混合类型的 pom ..
    • 听起来不错。我也会尝试其他的。我看到您可以根据配置文件配置插件,所以我希望我可以将配置放在作为配置文件一部分的父 pom 中。这样,需要报告的项目可以在构建时使用配置文件启用它们
    • 要做到这一点,您可以在父级的 pluginMgt 中添加配置,然后在子级的配置文件中引用该插件..
    【解决方案2】:

    这应该从 2017 年春季发布的 Maven 3.5 开始工作;见the related issue

    <build><pluginManagement> 下的插件中定义的配置现在也将在<reporting> 下使用。

    如果您不知道插件管理在 Maven 中的工作原理,请参阅 the documentation 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 2020-01-24
      • 1970-01-01
      • 2011-06-10
      • 2021-06-12
      • 1970-01-01
      • 1970-01-01
      • 2018-06-07
      相关资源
      最近更新 更多