给定两个配置文件A和B,是否可能在配置文件A的定义中指定某些内容以启用或禁用配置文件B?
给定两个配置文件A和B,是否可能在配置文件A的定义中指定某些内容以启用或禁用配置文件B?
无法从另一个配置文件激活/停用配置文件。在构建模型之前,Maven需要知道活动配置文件的列表。
根据您的使用情况,有几种解决方法:
activeByDefault
:当激活另一个配置文件时,它将自动停用。使用自定义属性,使一个配置文件通过属性的存在而被激活,而另一个配置文件则通过属性的存在而被停用。示例配置如下:
<profile>
<id>profileA</id>
<activation>
<property>
<name>somename</name>
</property>
</activation>
</profile>
<profile>
<id>profileB</id>
<activation>
<property>
<name>!somename</name>
</property>
</activation>
</profile>
因此,如果您使用-Dsomename
调用Maven,则将激活profileA
;否则将激活profileB
。