J'utilise un POM parent qui définit un plugin que je ne souhaite pas exécuter dans un POM enfant. Comment puis-je désactiver complètement le plugin dans le pom enfant?
Contrainte: je ne peux pas modifier le POM parent lui-même.
Ce qui suit fonctionne pour moi lors de la désactivation de Findbugs dans un POM enfant:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<executions>
<execution>
<id>ID_AS_IN_PARENT</id> <!-- id is necessary sometimes -->
<phase>none</phase>
</execution>
</executions>
</plugin>
Remarque: la définition complète du plugin Findbugs est dans notre parent / super POM, donc il héritera de la version et ainsi de suite.
Dans Maven 3, vous devrez utiliser:
<configuration>
<skip>true</skip>
</configuration>
pour le plugin.
<id>…</id>
partie du POM parent, puis cela a fonctionné pour moi.<skip>
paramètre.Voir si le plugin a un paramètre de configuration 'skip'. Presque tous le font. si c'est le cas, ajoutez-le simplement à une déclaration dans l'enfant:
Sinon, utilisez:
la source
Le fil est vieux, mais peut-être que quelqu'un est toujours intéressé. La forme la plus courte que j'ai trouvée est une amélioration supplémentaire de l'exemple de λlex et bmargulies. La balise d'exécution ressemblera à:
2 points que je souhaite souligner:
Après avoir posté trouvé qu'il est déjà dans stackoverflow: Dans un projet multi-module Maven, comment puis-je désactiver un plugin chez un enfant?
la source
Je sais que ce fil est vraiment vieux mais la solution de @Ivan Bondarenko m'a aidé dans ma situation.
J'ai eu ce qui suit dans mon
pom.xml
.Ce que je voulais, c'était désactiver l'exécution de
generate-citrus-war
pour un profil spécifique et c'était la solution:la source