我想创建一个在Tomcat和完整的Java EE服务器上运行的项目(多模块)。由于tomcat缺少几个库,因此我需要将它们包括在Tomcat中,但是完整的Java EE容器具有这些库,并且如果我仍然包含它们,甚至可能会产生冲突。
我想将我所有的html文件放在一个地方(可能是Java EE容器WAR项目),然后再建另一个模块,它可以产生相同的效果,但是在WAR文件中增加了依赖性。
我该如何实现?
您可以为此使用WAR叠加层。使用这种方法,您可以拥有一个包含所有共享内容的WAR模块-库,资源等。然后创建另一个模块(或为每个容器提供更多模块),并添加WAR类型的依赖项,如下所示:
<dependency> <groupId>com.example.app</groupId> <artifactId>my-war-base</artifact> <version>1-SNAPSHOT</version> <type>war</type> </dependency>
仅将其添加(添加到WAR项目!)可确保WAR被合并(=覆盖)。您甚至可以从基础战中排除某些部分,例如,如果您有许多容器需要的某些资源/库,但单个容器中存在问题。
可能还有其他一些调整- 请参阅文档。
顺便说一句,这种方法允许您: