Selon le Défaut du Cycle de vie des Liaisons, les liaisons pour un emballage pom
sont:
Défaut Du Cycle De Vie Des Liaisons - Emballage
pom
package site:fixez-le descripteur de
installer:installer
déployer déployer déployer
Donc, si votre parent POM a un <packaging>pom<packaging>
(ce devrait être le cas comme l'a fait remarquer dans un commentaire), et si vous liez vos plugins à d'autres phases que celles ci-dessus (voir le Cycle de vie de Référence pour une liste complète), ils ne seront pas exécutées lors de la compilation du POM parent.
(EDIT: Ma première réponse est tout simplement faux. Si vous liez un plugin objectif à une phase particulière, il sera déclenchée au cours de cette phase, indépendamment de l'emballage du projet. La valeur par Défaut du Cycle de vie des Liaisons qui n'ont rien à voir avec ça, ils sont juste valeur par défaut du cycle de vie des liaisons. Tout ce qui importe est de savoir si la phase à laquelle le plugin est liée est une partie de la construire lifecyle.)
Comme vous l'avez souligné, vous pouvez utiliser l' pluginManagement
dans le pom parent pour la configuration du plugin, mais si vous voulez vraiment pour exécuter un plugin but chez les enfants de modules et pas dans le parent (vous pourriez avoir de bonnes raisons de le faire, mais la plupart du temps, les plugins ne pas avoir beaucoup d'effet sur un module avec un pom
des emballages qui n'ont pas de contenu), vous aurez de référence des plugins dans l' plugins
élément dans les enfants.
Appliqué à votre exemple, le parent pom.xml pourrait définir les spécifications suivantes:
<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>
Et dans chaque enfant, pom.xml
, seuls les éléments suivants sont requis:
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
</plugins>
...
</build>
</project>