【问题标题】:Inherit build plugin/extension/... in Maven在 Maven 中继承构建插件/扩展/...
【发布时间】:2014-01-24 20:01:36
【问题描述】:

假设一个 Maven 项目配置了一个很酷的构建插件:

<project>
    ...
    <build>
       ... extensions etc.
    </build>
    ...
</project>

我希望此配置可重用,以便我可以在任何新项目中运行插件/扩展提供的目标。上面的项目可能只是为了让其他项目可以重用配置而存在。

实现这一目标的最佳方法是什么?

【问题讨论】:

    标签: maven build-tools maven-extension


    【解决方案1】:

    将此pom.xml 声明为pom 类型:

    <type>pom</type>
    

    并在需要配置插件的每个“子”pom.xml 中将其声明为父级:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance

    【讨论】:

      【解决方案2】:

      使用parent.pom。将此pom 部署到您的本地存储库。当然,您可以为您在组织中定期开发的每种类型的项目配置parent.poms。可能带有通用值(服务器位置、组织名称、通用代码样式...)的master.pom 是一个好主意。项目特定的poms 将使用它作为父级。

      【讨论】:

      • 在多项目项目中,“插件父级”应该是主要的顶级 pom 的父级,对吧?如果我想将此行为添加到主 pom 的单个子(模块)中,而不是所有模块,该怎么办?它已经有一个父级(顶级 pom)...
      • 是的,在这种情况下,只有顶级 pom 可以有一个外部父级,模块通过它继承,但你不能以这种方式给模块单独的行为。此方法仅适用于项目。有时这暗示模块可能是一个项目(但并非总是如此,可悲的是)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-11
      • 2010-12-13
      • 2017-08-26
      相关资源
      最近更新 更多