maven profiles, 缺省激活一个 profile 有两种方式:
方式1:
<activation> <activeByDefault>true</activeByDefault></activation>
方式2:
<activation> <property>!Foo<property></activation>
方式1的问题是只要显示指定了其他的profile, 那缺省的这个就被停用了。
对于方式2, 只要 Foo 属性没有设置,它一直是激活的。
借助于方式2 , 我们可以同时设置多个缺省激活的 profile. 同时我们可以在命令行禁用它们, 通过:
mvn -P!aProfile — 在 profile id 前加 !
或:
mvn -DFoo — 设置Foo 属性 。
除非缺省激活的 profile 与所有其他的 profile 互斥(这种情况比较少),其他情况使用方式2显然更灵活。