Filtro della proprietà variabile Maven
-
28-10-2019 - |
Domanda
Sto cercando di avere un valore di proprietà variabili e utilizzare il profilo Maven per raggiungere l'output corretto. L'ho fatto per il mio XML Hibernate, log4j.properties e non ho avuto problemi.
Quindi ha funzionato per me nel progetto n. 1 in cui ho un sacco di file in/src/main/risorse. E ho impostato proprietà e filtrazioni di risorse in Maven come segue:
<properties>
<log.level>DEBUG</log.level>
</properties>
<profiles>
<profile>
<id>production</id>
<properties>
<log.level>INFO</log.level>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
Quanto sopra ha funzionato senza problemi. Tuttavia, nel mio progetto n. 2 - ho alcuni file che hanno proprietà variabili, ma sono sotto/src/main/webapp/web -infe - faccio lo stesso come sopra, ad eccezione della directory per indicare Web -INF E non funziona. Ho provato il Progetto n. 2 per far passare il file/SRC/Main/Resources e ha funzionato.
Quindi mi sembra che il filtro delle risorse abbia problemi quando il file è sotto/src/main/webapp/web-infe, ma ho bisogno che il file sia lì, quindi va alla cartella Web-INF quando viene generata la guerra.
Qualcuno ha un puntatore su come farlo?
Ecco il seguente snipet dal pom.xml che non funziona (il filtro delle risorse è completamente ignorato)
<properties>
<wsdl.url>http://stage/wsdl-url</wsdl.url>
</properties>
<profiles>
<profile>
<id>production</id>
<properties>
<wsdl.url>http://prod/wsdl-url</wsdl.url>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/main/webapp/WEB-INF</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
Soluzione
Ho anche avuto questo problema; Sospetto che il principale <resources>
La sezione del POM è ignorata dal plug-in di guerra, quindi ho escogitato direttamente il plug-in:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<filters>
<filter>filter.properties</filter>
</filters>
<webResources>
<resource>
<directory>WebContent/WEB-INF</directory>
<filtering>true</filtering>
<targetPath>WEB-INF</targetPath>
</resource>
</webResources>
</configuration>
</plugin>