我正在使用maven来构建一个多模块项目。
在一个项目中,我执行maven-war-plugin四次,以便在每次执行中过滤一些属性。作为一个独立的项目,它运作良好。
但是当我构建多模块时,它从“父”执行四次,但它们都没有过滤属性。
谢谢大家!
这是我的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>
答案 0 :(得分:1)
但是当我构建多模块时,它从“父”执行四次,但它们都没有过滤属性。
听起来像是一个复杂的设置......无论如何,您确定src/main/webapp
的内容不会覆盖过滤后的内容吗?使用-X
运行maven可能有助于调试正在发生的事情。
我的建议是停止滥用滥用 webResources
元素(应该用于外部网络资源)并移动需要的内容在src/main/webapp
之外过滤。