J'ai le XML suivant dans mon maven POM.xml:
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>default</name>
<value>!disabled</value>
</property>
</activation>
<modules>
<module>m1</module>
<module>m2</module>
<module>m3</module>
</modules>
</profile>
<profile>
<id>x</id>
<modules>
<module>m1</module>
</modules>
</profile>
</profiles>
Ce que j'essaie de réaliser, c'est ceci:
Quand je lance mvn install
, Je veux qu'il construise des projets m1, m2 et m3.
Quand je lance mvn install -Px
, Je veux qu'il seulement build m1.
Mon problème actuel est qu'avec le code ci-dessus, l'option 2 construit tous les m1, m2 et m3.
J'ai trouvé la solution, définissez d'abord le profil 'x' et le 'défaut' et ça fonctionne très bien (fou Maven !!). Voici le résultat final:
<profiles>
<!-- DO NOT CHANGE THE *ORDER* IN WHICH THESE PROFILES ARE DEFINED! -->
<profile>
<id>x</id>
<modules>
<module>m1</module>
</modules>
</profile>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>m1</module>
<module>m2</module>
<module>m3</module>
</modules>
</profile>
</profiles>
Vous pouvez désactiver les profils maven qui ont runByDefault
défini sur true à partir de la ligne de commande comme suit:
mvn install -P !default
Notez que cela nécessite Maven version 2.0.10.