我需要使用 Maven 使用两个不同的 web.xml
文件创建两个 WAR 文件。 WAR 文件在其他方面是相同的。
WAR 文件按预期创建,但是,第二个文件与第一个文件具有相同的 web.xml
文件。
如何强制 Maven WAR 插件将第二个文件用于第二个 WAR?我无法使用配置文件,因为我需要一次创建两个文件。
我当前的代码:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<warSourceDirectory>${basedir}/WEB</warSourceDirectory>
<warName>main</warName>
<webXml>${basedir}/CONF/web.xml</webXml>
</configuration>
<executions>
<execution>
<id>hist-war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
<warName>hist</warName>
<warSourceDirectory>${basedir}/WEB</warSourceDirectory>
<webXml>${basedir}/CONF/hist.web.xml</webXml>
</configuration>
</execution>
</executions>
</plugin>
最佳答案
使用 overlay Maven WAR plugin 的特征.
您需要两个 WAR 项目。第一个是您的原始文件,其 web.xml
文件位于正确的位置。这在配置方面没有任何特定需求。只需确保它按照您的预期构建即可。
第二个仅包含其 POM 和 WEB-INF
目录中的备用 web.xml
。此项目的 POM 必须包含对类型指定为 war 且范围指定为运行时的第一个项目的依赖项。您不需要显式配置 Maven WAR 插件。
关于java - Maven:创建 2 个 war 文件,每个文件都有不同的 web.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12460007/