exécutions du plugin maven guerre et filtrer dans un projet de module multipuce
-
09-10-2019 - |
Question
J'utilise Maven pour construire un projet multimodule.
Dans un projet, j'exécute quatre fois maven-guerre-plugin pour filtrer certaines propriétés dans chaque exécution. En tant que projet autonome, il fonctionne bien.
Mais quand je construis le multimodule, du « parent », il exécute quatre fois, mais aucun d'entre eux filtrer les propriétés.
Merci à vous tous!
Heres un fragment de mon pom.xml:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>net.my</groupId>
<artifactId>my-project</artifactId>
<packaging>war</packaging>
<name>myProject</name>
<version>0.0.1</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<id>list</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
<warName>myProj-list.war</warName>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</webResources>
<filtering>true</filtering>
<filters>
<filter>src/main/filters/list.properties</filter>
</filters>
</configuration>
</execution>
...
<!-- more executions -->
</execution>
</executions>
<configuration>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</webResources>
<filters>
<filter>src/main/filters/locator.properties</filter>
</filters>
</configuration>
</plugin>
</plugins>
</build>
La solution
Mais quand je construis le multimodule, du « parent », il exécute quatre fois, mais aucun d'entre eux filtrer les propriétés.
On dirait une configuration compliquée ... En tout cas, êtes-vous que le contenu de src/main/webapp
ne pas remplacer le contenu filtré? Course à pied Maven pourrait -X
de l'aide pour déboguer ce qui se passe.
Ma suggestion serait de cesser d'abuser abusant l'élément webResources
(qui doit être utilisé pour externe Ressources Web) et de déplacer le contenu qui doit être filtré en dehors src/main/webapp
.