【发布时间】:2023-04-10 19:14:01
【问题描述】:
我对 Maven 有疑问。我已经在使用 tomcat7-maven-plugin 将我的战争部署到 tomcat 中,并且效果很好。
但现在我想将一个文件更改为我生成的战争,然后再将其发送到 servlet 容器。可能吗? 特别是我想用另一个更改默认 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 文件。 有人可以帮我找到合适的插件来实现我的目的吗?
更新:
【问题讨论】:
-
我不太确定你想要达到什么目的?如果您想使用(可能有问题的)web.xml,您可以随时将其放在标准目录布局中的
src/main/webapp/WEB-INF中。 -
您想仅针对特定版本更改它吗?这可以使用 Maven 配置文件来完成。但是你想达到什么目的?要更改整个 web.xml 或使其某些属性具有不同的值?
-
我在
src/main/webapp/WEB-INF中已经有一个web.xml,但我会在构建和部署期间将其替换为另一个。 -
认为正确的阶段不是打包而是
tomcat7:deploy。所以当我启动mvn tomcat7:deploy。我想更改 web.xml。但你的第二个选择可能没问题。替换的web.xml和原来的差不多,略有不同。
标签: java maven tomcat replace web.xml