(也发布在 maven-users 上)
想知道是否有人可以对 pom.xml 中与资源处理和 WAR 插件相关的元素的继承有所了解。
pom [1] 的文档在“合并的 POM 中的元素”下列出了资源。在我的本地 poms 上针对 maven 2.2.1 进行的一些实验似乎没有表现出这种行为。我看到的是它看起来是由子项目继承的(在多模块构建中),但是如果这些项目中的任何一个有自己的块,它会替换父项目,而不是合并。那是对的吗?
例子:
parent-pom.xml
|
|-> child-pom.xml
以下工作如我所料,dev 中的文件未包含在最终 WAR 中。
父 pom.xml
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>${dev-config.path}</exclude>
</excludes>
</resource>
</resources>
子 pom.xml
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>${dev-config.path}</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/rules</directory>
</resource>
<resource>
<directory>src/test/rules</directory>
</resource>
</resources>
对子项的以下更改(删除 src/main/resources 的任何声明)似乎导致在进程资源期间不考虑 src/main/resource,而不是像我预期的那样从父项继承。
子 pom.xml
<resources>
<resource>
<directory>src/main/rules</directory>
</resource>
<resource>
<directory>src/test/rules</directory>
</resource>
</resources>
[ 1 ] http://maven.apache.org/guides/introduction/introduction-to-the-pom.html