我在pom.xml中有一个简单的变量,当在运行的环境中设置环境变量时,该变量非常有用 例如:
gallery
如果没有在运行的env中定义my_var,这很好用, 但是当我服务
<properties>
<my_var>XXXXX</my_var>
<image.name>${my_var}</image.name>
</properties>
并运行Maven我仍然在image.name中获得XXXXX值 如果定义,我需要环境变量覆盖默认值
答案 0 :(得分:0)
您可以像以下示例一样在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>
您可以根据环境变量的值来激活每一个。因此,如果您运行:
mvn clean package -DenvVarName=true
(您也可以运行mvn clean package -PY
)
仅激活匹配配置文件,并且覆盖属性my_var。