我想创建一个在 Tomcat 和完整的 Java EE 服务器上运行的项目(多模块)。由于 tomcat 缺少几个库,因此我需要将它们包含在 Tomcat 中,但是完整的 Java EE 容器具有这些库,如果我仍然包含它们,甚至可能会产生冲突。
我想将我所有的 html 文件放在一个地方(可能是 Java EE 容器 WAR 项目),然后有另一个模块来构建相同的战争,但在 WAR 文件中添加了依赖项。
我如何实现这一目标?
我想创建一个在 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 被合并(=覆盖)。您甚至可以从基础战争中排除某些部分,例如,如果您有许多容器所需的一些资源/库,但在单个容器中存在问题。
可以进行更多调整 -请参阅文档。
顺便说一句,这种方法允许您: