Java Maven:不同配置文件的不同属性文件

Java Maven:不同配置文件的不同属性文件,java,maven-2,Java,Maven 2,我使用不同的maven配置文件将我的应用程序部署到不同的环境。(使用WebLogicMaven插件,但我认为这并不重要) 在应用程序中,我使用SpringWeb服务。现在,我想根据环境更改端点。(端点在Spring的applicationContext.xml中定义) 我的想法是从属性文件中读取值。此属性文件将在Mavens包阶段写入(或复制) 这是个好主意吗 如果是:如何使用maven创建此属性(或整个文件) 如果否:解决此问题的更好方法是什么?我也取得了类似的成果,但将变量放在了pom.xm

我使用不同的maven配置文件将我的应用程序部署到不同的环境。(使用WebLogicMaven插件,但我认为这并不重要)

在应用程序中,我使用SpringWeb服务。现在,我想根据环境更改端点。(端点在Spring的applicationContext.xml中定义)

我的想法是从属性文件中读取值。此属性文件将在Mavens包阶段写入(或复制)

这是个好主意吗

如果是:如何使用maven创建此属性(或整个文件)


如果否:解决此问题的更好方法是什么?

我也取得了类似的成果,但将变量放在了
pom.xml
中,而不是放在了propreties文件中。因此,我的属性文件中的变量将由Maven在打包时更改

首先,我在pom的profiles部分定义了这些变量:

<profiles>
    <profile>
        <id>dev</id>
        <activation><activeByDefault>true</activeByDefault></activation>
        <properties>
            <props.debug>true</props.debug>
            <props.email>false</props.email>
                            <what.ever.you.want>value for dev profile</what.ever.you.want>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <props.debug>false</props.debug>
            <props.email>true</props.email>
            <what.ever.you.want>value for prod profile</what.ever.you.want>
        </properties>
    </profile>
</profiles>
这不仅适用于属性文件,也适用于XML(我猜适用于每个文本文件)

相反的是:

  • 部分配置分散在pom文件中
  • Maven包装更耐用(因为过滤)
  • 将变量放在XML文件中会导致语法错误(因为字符$)
        <build>
                    <resources>
        <resource>
             <directory>src/main/resources</directory>
             <filtering>true</filtering>
        </resource>
    </resources>
             </build>
sendEmail=${props.email}