В соответствии с привязками по умолчанию жизненного цикла , привязки для упаковки pom
:
Привязки жизненного цикла по умолчанию - Упаковка
П
package site:attach-descriptor
install install:install
deploy deploy:deploy
Так что, если у вашего родительского POM есть <packaging>pom<packaging>
(это должно быть так, как указано в комментарии), и если вы связываете свои плагины с фазами, отличными от указанных выше (см. Lifecycle Reference для полный список), они не будут выполняться во время сборки родительского POM.
(РЕДАКТИРОВАТЬ: Мой первоначальный ответ просто неправильный. Если вы привязываете цель плагина к определенной фазе, она будет запущена на этой фазе, независимо от упаковки проекта. По умолчанию привязки жизненного цикла не имеют к этому никакого отношения, это просто привязки жизненного цикла по умолчанию. Все, что имеет значение, это то, что фаза, к которой привязан плагин, является частью build lifecyle .)
Как вы указали, вы можете использовать pluginManagement
в родительском pom для конфигурации плагина, но если вы действительно хотите выполнить цель плагина в дочерних модулях, а not в родительском (у вас могут быть веские причины для этого, но в большинстве случаев плагины не будут иметь большого эффекта на модуле с упаковкой pom
, в которой нет содержимого), вам придется ссылаться плагины в элементе plugins
в дочерних элементах.
Применительно к вашему примеру родительский файл pom.xml может определять следующие спецификации:
<project>
<packaging>pom</packaging>
...
<modules>
<module>child</module>
</modules>
...
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>my-execution-id</id>
<phase>integration-test</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</pluginManagement>
</build>
...
</project>
И для каждого ребенка pom.xml
требуется только следующее:
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
</plugins>
...
</build>
</project>