我遇到了maven的问题。我正在使用tomcat7-maven-plugin将我的战争部署到一个tomcat中并且效果很好。
但是现在我想在将文件发送到servlet容器之前将文件更改为生成的war。可能吗? 特别是我想用另一个更改默认的web.xml。
我已经尝试了maven-resources-plugin,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.2</version>
<executions>
<execution>
<id>default-copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>true</overwrite>
<outputDirectory>${project.build.directory}/${project.artifactId}/WEB-INF/</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/webapp/ext/WEB-INF</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
但是这个插件只替换目标WEB-INF文件夹中的web.xml,没有任何东西会被改成war文件。 有人可以帮我找到合适的插件来实现我的目的吗?
更新:
答案 0 :(得分:2)
您可以在其中定义您的个人资料(在您的pom.xml中),覆盖 maven.war.webxml 属性:
<properties>
<maven.war.webxml>path/to/your/custom/web.xml</maven.war.webxml>
</properties>
答案 1 :(得分:0)
解决方案(不是我的),取自问题Maven: Customize web.xml of web-app project并带有Maven War Plugin和webXml
参数。
webXml 要使用的web.xml文件的路径。
<profiles>
<profile>
<id>tomcat</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>${project.basedir}/src/main/webapp/ext/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
...