我有一个复杂的pom层次结构。其中一些具有资源插件配置,可将资源复制到目标工件。 我面临的问题是,当我将新资源配置添加到低级别pom时,其父poms上的现有资源插件配置将停止工作。 我真的不确定我想要实现的目标是否可行,因为我找不到任何关于它的文档。如果有可能,我不知道是否有任何限制..
我希望你们中的一些人可以给我一个暗示......
提前致谢。
答案 0 :(得分:0)
从pom参考
中检查您可以控制子POM如何从父POM继承配置 通过向配置元素的子元素添加属性。该 属性是combine.children和combine.self。使用这些属性 在一个子POM中控制Maven如何结合插件配置 在子项中具有显式配置的父项。
以下是包含两者插图的子配置 属性:
<configuration> <items combine.children="append"> <!-- combine.children="merge" is the default --> <item>child-1</item> </items> <properties combine.self="override"> <!-- combine.self="merge" is the default --> <childKey>child</childKey> </properties> </configuration>
或者如果您想要更详细的解释,请阅读this post
基本上,您需要合并maven-resource-plugin的父配置和子配置
答案 1 :(得分:0)
Maven文档不清楚哪些POM元素合并而哪些不合并,所以不久前我创建了一些测试POM并且稍微玩了一下。在我使用Maven 3.0.x进行的测试中,子POM中的任何resource
(或testResource
)元素都会完全覆盖父级提供的任何内容,因此元素不会合并。我发现如果需要在子代中添加资源配置元素,我必须复制所有父资源配置。
@Hilikus'的答案是为插件配置执行此操作的正确方法,因此如果需要更改maven-resource-plugin
配置,请按照这些说明进行操作。