通过传递多个环境,根据环境生成属性文件

时间:2014-03-04 15:17:52

标签: java maven environment-variables pom.xml

我有一种情况需要通过传递环境来创建多个配置属性文件。

即:我有像dev,prod,qa,int这样的环境,但我想一次性为int和dev创建jar

我的第一个问题是:“在我们可以传递多种环境价值的maven中有什么方法吗?”

如果可以,我怎样才能设置我的pom.xml以接受多个env值?

2 个答案:

答案 0 :(得分:0)

对于“传递多个环境值”,你的意思并不十分清楚。

如果要根据执行环境激活一组属性,可以使用maven配置文件。

以下是两个配置文件的示例,您可以将其添加到pom.xml中。

  <profiles>
    <profile>
        <id>prod</id>
        <properties>
            <value1>a</value1>
            <value2>b</value2>
        </properties>
    </profile>
    <profile>
        <id>qa</id>
        <properties>
            <value1>x</value1>
            <value2>y</value2>
        </properties>
    </profile>
</profiles>

然后,您可以通过使用参数“-Pprod”调用maven来激活配置文件“prod”。

答案 1 :(得分:0)

我担心您无法在一个版本中使用每个配置文件过滤资源触发2个不同的打包。

如果您想一次激活2个配置文件,您可以使用-P指定它们或根据相同属性触发激活(请参阅Maven: Only execute plugin when a command line flag is present

如果我正确理解了您的问题,我建议将集成工件的构建委派给持续集成服务器,该服务器将使用专用配置文件触发相应的资源过滤,并将开发配置文件设置为每日的默认配置文件开发人员构建。