(также размещено на maven-пользователях)
Хотите знать, может ли кто-нибудь пролить свет на наследование элементов в 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 с