maven-war-plugin overlay删除/META-INF/context.xml

时间:2016-03-06 06:09:01

标签: java maven war maven-war-plugin

有3个maven项目:

  • my-overlay(它是一个仅包含context.xml的覆盖图的蓝图 - 战争)
  • my-base(它是在真实战争范围内使用的pom)
  • my-webapp(作为my-base的子项目在生产中使用的最终项目)

我将my-overlay作为一个包装为战争的maven项目:

+ 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

pom.xml中使用此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>

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

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

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

0 个答案:

没有答案