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

时间:2015-03-11 16:32:33

标签: maven

My POM will inherit everything from the parent POM,包括与我的项目无关的内容:mailingListsissueManagementciManagement等。

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

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

1 个答案:

答案 0 :(得分:0)

没有标准的Maven方式来影响最终pom中的这个顺序(基于官方文档没有描述任何关于结果最终pom输出中元素顺序的事实的假设,但只有某些定义的顺序关键部分,例如依赖关系和“哪一个胜过另一个的定义,基于谁被配置为第一个/最后一个”的相关效果。)

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

在对dependencyManagementprofiles进行一些测试后,我不认为有使用Maven标准的解决方法。