如何从父 POM 中排除继承的标记

  • 本文关键字:继承 排除 POM maven
  • 更新时间 :
  • 英文 :


我的 POM 将继承父 POM 的所有内容,包括与我的项目无关的内容:mailingListsissueManagementciManagement 等。

我知道我可以覆盖它们,或者干脆忽略它们,以便它们出现在我项目的有效 POM 中。但是有没有办法简单地将它们从我的孩子 POM 中排除?

解决方法是为这些标记提供

空白内容,或者为这些标记提供一些虚拟内容以跳过父项的链接。但是这个解决方案似乎一点也不优雅...此外,孙子POM会自动在每个空白或虚拟属性的末尾附加${artifactId},使事情变得更糟。

不,

没有标准的 Maven 方法来影响最终 pom 中的此顺序(假设基于官方文档没有描述有关最终 pom 输出中元素顺序的任何内容,而只是某些关键部分的定义顺序,例如依赖关系和"哪个比另一个的定义更胜于另一个基于谁先/最后一个配置"的相关效果)。

请注意,关于插件,常见的模式是在公共父 pom 的 pluginManagament 部分中定义插件.xml允许子插件仅包含特定定义的插件,而不是隐式继承所有父插件。

经过一些测试弄乱了dependencyManagementprofiles,我认为没有使用 Maven 标准的解决方法。

最新更新