Tengo dos perfiles Maven profile-A y profile-B. "B" solo debe activarse si "A" no está activado. Así que si yo llamaría se ejecutaMaven: ¿Activar solo el perfil A si el perfil B no está activado?
mvn install
perfil-B (pero no Profile-A). Pero si yo llamaría
mvn install -Pprofile-A
continuación, se ejecuta sólo el perfil-A (pero no profile-B).
¿Alguna pista sobre cómo debo escribir mi pom.xml para lograr esto?
ya he intentado esto, pero no funciona:
<profiles>
<profile>
<id>profile-A</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
...
</profile>
<profile>
<id>profile-B</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>!profile-A</name>
</property>
...
</activation>
...
</profile>
</profiles>
Solo quería aclarar un punto que me dejó perplejo durante unos 15 minutos. De la última versión del enlace anterior con respecto a 'activeByDefault' (énfasis mío):" Este perfil estará activo automáticamente para todas las construcciones a menos que otro perfil ** en el mismo POM ** se active utilizando uno de los métodos descritos anteriormente. " En mi caso, agregué el perfil B al POM principal y el perfil A a un POM de hoja en una compilación de varios módulos. En esta configuración, el perfil B no se deshabilitó cuando el perfil A se activó a través de la línea de comando. Mover los perfiles A y B al mismo POM produjo el comportamiento deseado. –