这个问题与Maven:仅在未激活配置文件B时激活配置文件A?相关,但更具体。
如果我输入以下内容之一:
如果我输入以下内容之一:
mvn clean install -PspecificProfile
mvn clean install -Dsmth -PspecificProfile
mvn clean install -Dsmth -PspecificProfile,anotherProfile
然后我想要激活specificProfile
配置文件。(+指定的其他配置文件)
如果我输入其他任何内容,如:
mvn install
mvn clean install
mvn clean install -Dsmth
mvn clean install -Dsmth -PanotherProfile
mvn clean install -Dsmth -PdefaultProfile
mvn clean install -Dsmth -PdefaultProfile,anotherProfile
那么我希望能够激活默认配置文件defaultProfile
(+其它特定的配置文件)。
思路:
if ( specific profile P is used via command line ) {
activate P;
} else {
activate the default profile;
}
activate other specified profiles;
例子:
mvn ... // default
mvn ... -PspecificProfile // specificProfile (no default!)
mvn ... -Px // default + x
mvn ... -Px,y // default + x + y
mvn ... -Px,specificProfile // x + specificProfile (no default!)
mvn ... -Px,specificProfile,y // x + specificProfile + y (no default!)
我尝试做类似于这样的事情(在 pom.xml 中):<profile>
<id>defaultProfile</id>
<activation>
<property>!x</property>
</activation>
...
</profile>
<profile>
<id>specificProfile</id>
<properties>
<x>true</x>
</properties>
...
</profile>
但是它不起作用。