为什么在指定其他值时激活maven配置文件激活

时间:2015-08-13 20:06:05

标签: maven

鉴于个人资料:

<profile>
  <id>default</id>
  <activation>
    <activeByDefault>true</activeByDefault>
    <property>
      <name>env</name>
      <value>default</value>
    </property>
  </activation>
</profile>

<profile>
  <id>alternative</id>
  <activation>
    <property>
      <name>env</name>
      <value>alternative</value>
    </property>
  </activation>
</profile>

为什么在default上激活-Denv=somethingCompletelyDifferent?我希望env为空或等于default时会激活它。

1 个答案:

答案 0 :(得分:1)

来自Maven documentation

  

除非使用上述方法之一激活同一POM中的其他配置文件,否则此配置文件将自动为所有版本激活。默认情况下处于活动状态的所有配置文件在命令行上激活POM中的配置文件或通过其激活配置时自动停用。

因此,只要没有其他配置文件处于活动状态,具有activeByDefault的配置文件将始终打开。因此,只有-Denv=alternative才能禁用默认值。