在 Maven 2 中,我能够设置如下配置文件属性:
<profiles>
<profile>
<id>test</id>
<properties>
<region>test</region>
<application-url>http://localhost:8080/myTestApp</application-url>
<cookie-name>TestCookie</cookie-name>
</properties>
</profile>
<profile>
<id>production</id>
<properties>
<region>production</region>
<application-url>http://prodserver/myProductionApp</application-url>
<cookie-name>ProductionCookie</cookie-name>
</properties>
</profile>
<profiles>
在编译时,Maven 将替换我的 spring bean 中的这些配置值。例如,如果我有一个这样定义的 spring bean:
<bean id="cookie-name" class="java.lang.String">
<constructor-arg value="${cookie-name}"/>
</bean>
我-P test
在构建项目时指定,Maven会将bean设置为看起来像
<bean id="cookie-name" class="java.lang.String">
<constructor-arg value="TestCookie"/>
</bean>
当我指定时-P production
,maven 再次用正确的属性替换了文本
<bean id="cookie-name" class="java.lang.String">
<constructor-arg value="ProductionCookie"/>
</bean>
随着我们支持的环境和客户数量的增加,我一直在更多地利用此功能。
我尝试升级到 Maven 3,但似乎这种行为已经消失或被破坏。我似乎无法找到它已被替换。
有人对我如何或是否可以在保留此行为的同时升级到 Maven3 有任何见解吗?