2
我有一个超级POM:如何在maven中继承构建选项?
<resources>
<resource>
<filtering>true</filtering>
<directory>(path to my project)\src\main\resources</directory>
<includes>
<include>**/application*.yml</include>
<include>**/application*.properties</include>
</includes>
</resource>
<resource>
<directory>(path to my project)\src\main\resources</directory>
<excludes>
<exclude>**/application*.yml</exclude>
<exclude>**/application*.properties</exclude>
</excludes>
</resource>
</resources>
的情况是:
当我把下面的代码我的项目的POM中,会自动改写超级POM配置:
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>my-project/src/main/resources</directory>
<excludes>
<exclude>*.yml</exclude>
</excludes>
</resource>
</resources>
</build>
我如何使用超级POM配置和“CONTA”与我的项目POM是:
<resources>
<resource>
<filtering>true</filtering>
<directory>(path to my project)\src\main\resources</directory>
<includes>
<include>**/application*.yml</include>
<include>**/application*.properties</include>
</includes>
</resource>
<resource>
<directory>(path to my project)\src\main\resources</directory>
<excludes>
<exclude>**/application*.yml</exclude>
<exclude>*.yml</exclude> <!-- my project pom config -->
<exclude>**/application*.properties</exclude>
</excludes>
</resource>
</resources>
当我在学习Maven时,我也注意到在子模块中定义的任何资源优先于在父POM中定义的资源。如上所述,让他们'concat'的唯一方法是在孩子中重复父配置,然后像你一样添加新的选项。这是Maven 3.2,不确定后续版本是否有更好的方式来处理这个问题。 [插件有明确的说法'合并'](https://maven.apache.org/pom.html#Plugins),请参阅'combine.children'和相关的属性。 – user944849
好的,我会复制配置。把你的评论作为答案,对我来说就够了。 – Lucas
完成。也许其中一位Maven开发人员最终会启发我们两人。 – user944849