Sto lavorando a un progetto Web Maven tramite Eclipse. Nel web.xml
, ho un context-param che valore dovrebbe cambiare in base al profilo che utilizzo quando eseguo il Maven.Maven: come compilare una variabile nel file web.xml
<context-param>
<param-name>producao</param-name>
<param-value>${ambiente.producao}</param-value>
</context-param>
Nel file di pom per il progetto che ho la seguente configurazione:
<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>
Sto usando sia resources
tag come Maven-guerra-plugin plug in base ai riferimenti che ho trovato su internet. Tuttavia, non ha funzionato come previsto. In Eclipse eseguo il Maven con gli obiettivi clean install e come "Profili" sia prod o desenv. Dopo aver eseguito il Maven, ho osservato che nello web.xml
la proprietà ${ambiente.producao}
non è stata sostituita. Pertanto, vorrei sapere cosa ho sbagliato. Dovrei usare solo la risorsa Filtering o il plugin maven-war?
Grazie,
Rafael Afonso
Questo è un approccio e una spiegazione molto ottimali e razionali. Grazie! –
Questa era una chiave magica: "filteringDeploymentDescriptors> true filteringDeploymentDescriptors>" –