我可以使一个Maven个人资料激活另一个吗?


70

我有2个maven2配置文件,硒和jspc。现在,对于“ selenium”,id希望隐式激活“ jspc”,这样我就不必从命令行编写mvn -Pselenium,jspc。这可能吗 ?

Answers:


92

您不能“链接”配置文件激活(maven参考),但是可以通过相同的属性来激活它们:

<activation>
  <property>
    <name>profile.selenium</name>
  </property>
</activation>

和运行 mvn -Dprofile.selenium


5
stackoverflow.com/a/2248552/253686提供了有关为什么无法链接的更多详细信息。
bradley.ayers 2014年

另外,您可以基于不存在的属性来定义激活-这使您可以创建互斥的配置文件(除非您同时强制激活这两者)。例如<profile> <id> test-default </ id> <activation> <property> <name>!profile.externalAndContractTests </ name> </ property> </ activation> ...
RobertG

1
对于我而言,我有profile1扩展profile2延伸profile3,因此上述不会工作,因为激活只能使用一个属性。相反,我只使用maven-enforcer-pluginwithrequireProperty并将其粘贴mvn install -Dprofile1,profile2,profile3到requireProperty-> message中。因此,每次我这样做时mvn install profile3,都会收到警告并复制输出消息,然后再次运行。
Ng Sek Long,

@ bradley.ayers总是有人试图证明原因。我可以看到实现此目的的100种方法。只需查找匹配的配置文件,然后将其统一即可。
毫米
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.