我想创建一个在Tomcat和完整Java EE服务器上运行的项目(多模块)。由于tomcat缺少一些库,我需要将它们包含在Tomcat中,但是一个完整的Java EE容器有这些库,如果我包含它们甚至可能产生冲突。
我希望将所有html文件放在一个地方(可能是Java EE容器WAR项目),然后让另一个模块构建相同的war,但是在WAR文件中添加了依赖项。
我如何实现这一目标?
答案 0 :(得分:4)
您可以使用WAR overlays。 使用这种方法,您可以拥有一个包含所有共享内容的WAR模块 - 库,资源等。 然后你创建另一个模块(或者更多,比如说每个容器)并添加一个类型为WAR的依赖项 - 如下所示:
<dependency>
<groupId>com.example.app</groupId>
<artifactId>my-war-base</artifact>
<version>1-SNAPSHOT</version>
<type>war</type>
</dependency>
只需添加(到WAR项目!)即可确保WAR合并(=重叠)。您甚至可以从基础战争中排除某些部分,例如,如果您有许多容器需要一些资源/库,但单个容器存在问题。
可能会进行一些调整 - see the docs。
顺便说一下,这种方法可以让你: