Maven将默认值设置为属性如果未设置环境值,则覆盖默认值(如果已设置)
我在pom.xml中有一个简单的变量,当在运行的env中设置环境变量时,该变量非常有效 例如:Maven将默认值设置为属性如果未设置环境值,则覆盖默认值(如果已设置),maven,variables,environment-variables,maven-3,Maven,Variables,Environment Variables,Maven 3,我在pom.xml中有一个简单的变量,当在运行的env中设置环境变量时,该变量非常有效 例如: <properties> <my_var>XXXXX</my_var> <image.name>${my_var}</image.name> </properties> 然后运行maven i,仍然可以在image.name中获得XXXXX值 我需要环境变量覆盖默认值(如果已定义)您可
<properties>
<my_var>XXXXX</my_var>
<image.name>${my_var}</image.name>
</properties>
然后运行maven i,仍然可以在image.name中获得XXXXX值
我需要环境变量覆盖默认值(如果已定义)您可以在pom.xml中使用maven profiles,如下示例:
<properties>
<my_var>XXXXX</my_var>
<image.name>${my_var}</image.name>
</properties>
<profiles>
<profile>
<id>Y</id>
<activation>
<property>
<name>envVarName</name>
<value>true</value>
</property>
</activation>
<properties>
<my_var>YYYYY</my_var>
</properties>
</profile>
</profiles>
XXXXX
${my_var}
Y
环境名称
真的
YYYY
您可以根据环境变量的值来激活每个变量。因此,如果您运行:
mvn clean package-DenvVarName=true
(您也可以运行mvn clean package-PY
)
只有匹配配置文件被激活,属性my_var被重写。您可以在pom.xml中使用maven配置文件,如下示例:
<properties>
<my_var>XXXXX</my_var>
<image.name>${my_var}</image.name>
</properties>
<profiles>
<profile>
<id>Y</id>
<activation>
<property>
<name>envVarName</name>
<value>true</value>
</property>
</activation>
<properties>
<my_var>YYYYY</my_var>
</properties>
</profile>
</profiles>
XXXXX
${my_var}
Y
环境名称
真的
YYYY
您可以根据环境变量的值来激活每个变量。因此,如果您运行:
mvn clean package-DenvVarName=true
(您也可以运行mvn clean package-PY
)
只有匹配配置文件被激活,属性my_var被重写