Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven将默认值设置为属性如果未设置环境值,则覆盖默认值(如果已设置)_Maven_Variables_Environment Variables_Maven 3 - Fatal编程技术网

Maven将默认值设置为属性如果未设置环境值,则覆盖默认值(如果已设置)

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值 我需要环境变量覆盖默认值(如果已定义)您可

我在pom.xml中有一个简单的变量,当在运行的env中设置环境变量时,该变量非常有效 例如:

<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被重写