В 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 заменит эти значения конфигурации в моих bean-компонентах Spring.Например, если бы у меня был определенный bean-компонент Spring:
<bean id="cookie-name" class="java.lang.String">
<constructor-arg value="${cookie-name}"/>
</bean>
, и я указывал -P test
, когда я собирал проект, Maven установил бы, что bean-компонент должен выглядеть так:
и когда я указал -P production
, maven снова заменил текст на правильное свойство
<bean id="cookie-name" class="java.lang.String">
<constructor-arg value="ProductionCookie"/>
</bean>
Поскольку число поддерживаемых нами сред и клиентов увеличилось, я стал использовать это преимуществофункциональность.
Я пытался перейти на Maven 3, но похоже, что это поведение исчезло или не работает.Я не могу найти то, что было заменено.
Кто-нибудь знает, как или можно ли перейти на Maven3, сохранив это поведение?