我想在我的maven项目中有两个不同的web.xml
描述符文件。第一个(默认)应该包含在war文件中以便部署到应用程序服务器,第二个应该用于使用tomcat7-maven-plugin:run
进行开发。我知道有<tomcatWebXml>
参数,但它指定了我不想改变的Tomcat全局web.xml
。
对于jetty-maven-plugin:run
,我可以指定<webApp>/<descriptor>
或<webApp>/<overrideDescriptor>
。首先使用指定文件替换默认web.xml
,而第二次应用指定文件内容以及默认web.xml
。
是否有可能如何使用tomcat7-maven-plugin
实现相同的功能?
答案 0 :(得分:2)
这是一个老问题,但我会写这个,以防其他人在看。
是的,这是可能的。
你可以通过覆盖tomcat7-maven-plugin使用的默认(内置)war-builder,即org.apache.maven.plugins:maven-war-plugin来做到这一点。
通过简单地将该插件添加到您的pom.xml以及额外配置webXml
代码看起来像这样
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<webXml>myPath/web.xml</webXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
... other configurations here
</configuration>
</plugin>
...
</plugins>