(также размещено на 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 с