java - Maven:创建 2 个 war 文件,每个文件都有不同的 web.xml?

标签 java maven war maven-war-plugin

我需要使用 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/

相关文章:

java - 如何以编程方式从 Java 中的 FLV 文件中提取预览图像(如第一帧)?

java - 如何仅删除选定项目中 netbeans 中的所有断点

java - 无法创建类 org.jboss.arquillian.test.impl.EventTestRunnerAdaptor 的新实例

unix - chalice war java.sql.SQLException : Io exception: Invalid number format for port number

java - JPA + EJB 对于 Internet 交易是否太慢(或太重)?

java - 下载图片会覆盖上一张图片

java - 使用 Maven 编译成 WAR 时包含非 java 文件

tomcat - 如何在 Myrrix war 文件中设置 --localInputDir 等标志?

java - 为什么 maven 在 Mac Big Sur 中没有显示正确的操作系统版本

java - Maven 会从两个依赖项中选择最新的依赖项吗?