1

我有一个复杂的 pom 层次结构。其中一些具有将资源复制到目标工件的资源插件配置。我面临的问题是,当我向低级 pom 添加新资源配置时,其父 pom 上的现有资源插件配置停止工作。我真的不确定我想要实现的目标是否可行,因为我找不到任何关于它的文档。如果可以的话,不知道有没有限制。。

我希望你们中的一些人能给我一个提示。

提前致谢。

4

2 回答 2

0

Maven 文档对哪些 POM 元素合并哪些不合并不是很清楚,所以不久前我创建了一些测试 POM 并使用它们进行了一些操作。在我使用 Maven 3.0.x 进行的测试中,子 POM 中的任何resource(或testResource)元素会完全覆盖父级提供的任何内容,这些元素不会被合并。我发现如果我需要在子元素中添加资源配置元素,我必须复制所有父资源配置。

@Hilikus 的回答是插件配置的正确方法,所以如果maven-resource-plugin是需要更改的配置,请遵循这些指示。

于 2013-11-12T14:57:52.637 回答
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>

或者如果您想要更详细的解释,请阅读这篇文章

基本上,你需要合并maven-resource-plugin的父子配置

于 2013-11-12T14:52:07.863 回答