maven-war-插件覆盖删除/META-INF/context.xml

maven-war-plugin overlay removes /META-INF/context.xml

有3个maven项目:

我将 my-overlay 作为 Maven 项目打包为 war:

+ my-overlay
  + src
    + main
      + webapp
        + META-INF
          + context.xml
        + hello.jpg
  + pom.xml

最后的 my-overlay.war 包含 /META-INF/context.xml/hello.jpg.

现在我有另一个项目

+ my-base
  + pom.xml

xml 在 pom.xml:

<packaging>pom</packaging>
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.6</version>
      <configuration>
        <overlays>
          <overlay>
            <id>my-overlay</id>
            <excludes /> <!-- remove the exlude of /META-INF/ -->
          </overlay>
          <overlay></overlay>
        </overlays>
      </...>

我还有第三个 Maven 项目:

+ my-webapp
  + main
    + webapp
      + index.jsp
  + pom.xml

pom.xml中有这个:

<parent> ... my-base ...</parent>
<packaging>war</packaging>

因此,如果我使用 mvn install 构建 my-webapp 项目,叠加层支持 hello.jpg 但不支持 context.xml。但我删除了覆盖中的默认排除。

如何让叠加层支持 META-INF/context.xml

顺便说一下:令人惊讶的是 my-webapp/target/war/work/mygroup/my-overlay/META-INF/context.xml 存在!

Blocker-Bug 已确认,为 3.0.0 准备

https://issues.apache.org/jira/browse/MWAR-367