Pracuję w projekcie sieciowym Maven za pośrednictwem Eclipse. W web.xml
mam kontekst-parametr, którego wartość powinna zmieniać się w zależności od profilu, którego używam, gdy uruchamiam Mavena.Maven: jak wypełnić zmienną w pliku web.xml
<context-param>
<param-name>producao</param-name>
<param-value>${ambiente.producao}</param-value>
</context-param>
W pliku POM dla potrzeb projektu Mam następującą konfigurację:
<project>
<profiles>
<profile>
<id>prod</id>
<properties>
<ambiente.producao>true</ambiente.producao>
</properties>
</profile>
<profile>
<id>desenv</id>
<properties>
<ambiente.producao>false</ambiente.producao>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/webapp/WEB-INF/</directory>
<filtering>true</filtering>
<includes>
<include>**/web.xml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.5</version>
<configuration>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>**/web.xml</include>
</includes>
</resource>
</webResources>
<warSourceDirectory>src/main/webapp</warSourceDirectory>
<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
</plugins>
</build>
</project>
używam zarówno resources
tag jako maven plugin-war-plugin według odnośnikach znalazłem w internecie. Jednak nie zadziałał zgodnie z oczekiwaniami. W Eclipse uruchamiam maven z bramkami czystą instalację i jako "Profile" albo prod lub desenv. Po uruchomieniu Mavena zauważyłem, że w web.xml
właściwość ${ambiente.producao}
nie jest zastępowana. Dlatego chciałbym wiedzieć, co zrobiłem źle. Czy powinienem używać tylko Zasobów filtrowania lub wtyczki do maven-war?
Dzięki
Rafael Afonso
Jest to bardzo optymalne i racjonalne podejście i wyjaśnienie. Dzięki! –
To był magiczny klucz: "filteringDeploymentDescriptors> true filteringDeploymentDescriptors>" –