在maven war覆盖期间覆盖资源

时间:2011-09-30 07:36:05

标签: java maven overlay maven-war-plugin

正如我所收集的那样,maven-war-plugin永远不会覆盖已存在于叠加层目标中的文件。例如,如果我有war A ,它依赖于war B ,则这两个资源都包含位于{{{ 1}},生成的src/main/resources/some.xml将包含 A 项目中的A.war

如何指示some.xml支持依赖关系中的资源( B )优先于原始资源( A )?

2 个答案:

答案 0 :(得分:1)

请参阅http://maven.apache.org/plugins/maven-war-plugin/overlays.html

  

“例如,如果在webapp中设置了覆盖 my-webapp 的index.jsp文件,但是可以通过常规方式控制其他文件,请定义两个 my-webapp

的叠加配置
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
      <overlays>
        <overlay>
          <id>my-webapp-index.jsp</id>
          <groupId>com.example.projects</groupId>
          <artifactId>my-webapp</artifactId>
          <includes>
            <include>index.jsp</include>
          </includes>
        </overlay>
        <overlay>
          <!-- empty groupId/artifactId represents the current build -->
        </overlay>
         ...
      </overlays>
    </configuration>

猜猜这不是最后的决定,而是一个重要的开始。

答案 1 :(得分:0)

您可以使用maven-resources插件将文件复制到所需位置。在战争建立之前或之后。