74 votes

Puis-je faire en sorte qu'un profil maven en active un autre ?

J'ai 2 profils maven2, selenium et jspc. Maintenant, pour "selenium", j'aimerais avoir une activation implicite de "jspc", de sorte que je n'ai pas à écrire mvn -Pselenium,jspc à partir de la ligne de commande. Est-ce possible ?

94voto

Robert Munteanu Points 31558

Vous ne pouvez pas "enchaîner" les activations de profil ( référence maven ) mais vous pouvez les activer tous les deux par le biais de la même propriété :

<activation>
  <property>
    <name>profile.selenium</name>
  </property>
</activation>

Et la course mvn -Dprofile.selenium

5 votes

stackoverflow.com/a/2248552/253686 a plus de détails sur pourquoi vous ne pouvez pas enchaîner.

0 votes

Vous pouvez également définir l'activation sur la base de propriétés qui n'existent PAS, ce qui vous permet de créer des profils mutuellement exclusifs (à moins que vous ne forciez l'activation des deux). Par exemple, <profil> <id>test-default</id> <activation> <property> <name>!profile.externalAndContractTests</name> </property> </activation>...

1 votes

Dans mon cas, j'ai profile1 étend profile2 étend profile3 La méthode ci-dessus ne fonctionnerait donc pas, car l'activation ne peut utiliser qu'une seule propriété. Au lieu de cela, j'utilise simplement maven-enforcer-plugin con requireProperty et coller le mvn install -Dprofile1,profile2,profile3 dans le message requireProperty->message. Ainsi, à chaque fois que je fais mvn install profile3 si vous obtenez l'avertissement, copiez le message de sortie et exécutez-le à nouveau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X