que - Usar perfiles para controlar qué módulos de Maven están construidos
mvn package (3)
Encontré la solución chicos, define el perfil ''x'' primero y el ''predeterminado'' y funciona bien (¡loco Maven!). Aquí está el resultado 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>
Tengo el siguiente XML en mi 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>
Lo que estoy tratando de lograr es esto:
Cuando ejecuto
mvn install
, quiero quemvn install
proyectos m1, m2 y m3.Cuando ejecuto
mvn install -Px
, quiero que solomvn install -Px
m1.
Mi problema actual es que con el código anterior, la opción 2 construye todos m1, m2 y m3.
Puede deshabilitar los perfiles de maven que tienen runByDefault
establecido en true desde la línea de comandos de esta manera:
mvn install -P !default
Tenga en cuenta que esto requiere Maven versión 2.0.10.
Solo agregue un espacio después de -P el sintaxis del comando es
mvn install -P x
Y no como si estuvieras usando
mvn install -Px
Eche un vistazo a Maven - Introducción a los perfiles