(также размещено на maven-users)
Интересно, может ли кто-нибудь пролить свет на наследование элементов в pom.xml в отношении обработки ресурсов и плагина WAR.
В документации к pom [1] есть ресурсы, перечисленные в разделе «Объединенные элементы POM». Некоторые эксперименты с моими локальными помпами против 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>
child-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 не рассматривается во время ресурсов процесса, а не наследуется от родителя, как я ожидал.
child-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 s