web-dev-qa-db-fra.com

Dans Maven, comment exécuter un plugin basé sur un profil spécifique

J'ai un projet Maven qui comprend 3 modules. Ceux-ci sont construits par le parent pom.xml

J'ai maintenant besoin d'exécuter un plugin depuis l'intérieur d'un des sous-modules 'pom.xml fichiers en fonction du profil sélectionné.

Comment puis-je spécifier que ce plugin ne doit s'exécuter que lorsqu'un certain profil est utilisé dans la génération?

26
mandy

Veuillez lire la documentation sur les profils de construction ici: http://maven.Apache.org/guides/introduction/introduction-to-profiles.html

Vous devez essentiellement définir un profil dans le POM de votre sous-module et inclure ce plugin dans la section plugin du profil. En utilisant la balise execution du plugin, vous pouvez définir dans quelle phase de construction le plugin doit s'exécuter.

Voir ici pour un exemple: tilisation de profils maven pour contrôler l'exécution de build

26
nwinkler

Ce qui a fonctionné dans ce cas pour moi, c'était d'utiliser le même profil que dans le pom.xml principal à l'intérieur des sous-modules pom.xml.

en gros, ce que je voulais, c'était de pouvoir exécuter un plugin depuis l'intérieur des sous-modules pom.xml, uniquement lorsqu'un certain profil 'say X' était exécuté dans le pom.xml principal

Ce que j'ai fait, c'est créer un profil "X" à l'intérieur des sous-modules pom.xml et placer ce plugin à l'intérieur de ce profil.

Maintenant, lorsque le profil X est exécuté à partir du fichier pom.xml principal, ce plugin du fichier pom du sous-module est également exécuté.

était d'autres profils, ce plugin n'est pas déclenché.

J'espère que cela aide quelqu'un :)

0
mandy