我想说这是您应该查看Maven War Overlay的典型案例。
覆盖用于跨多个 Web 应用程序共享公共资源。WAR 项目的依赖项收集在 WEB-INF/lib 中,但覆盖在 WAR 项目本身上的 WAR 工件除外。
这意味着您可以将另一场战争的碎片应用到您自己的战争中。最好的情况是,如果所有公共资源都在一个父战争中,而其他战争将使用覆盖技术。
您将依赖项添加到要用作覆盖的战争中:
<dependency>
<groupId>com.acne</groupId>
<artifactId>acne-web-style</artifactId>
<type>war</type>
<scope>compile</scope>
</dependency>
然后你将它应用到maven-war-plugin
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<overlays>
<overlay>
<groupId>com.acne</groupId>
<artifactId>acne-web-style</artifactId>
<includes>
<include>**/resources/*.jpg</include>
</includes>
</overlay>
<overlay>
<!-- empty groupId/artifactId represents the current build -->
</overlay>
</overlays>
</configuration>
</plugin>