1

我想创建一个在 Tomcat 和完整的 Java EE 服务器上运行的项目(多模块)。由于 tomcat 缺少几个库,因此我需要将它们包含在 Tomcat 中,但是完整的 Java EE 容器具有这些库,如果我仍然包含它们,甚至可能会产生冲突。

我想将我所有的 html 文件放在一个地方(可能是 Java EE 容器 WAR 项目),然后有另一个模块来构建相同的战争,但在 WAR 文件中添加了依赖项。

我如何实现这一目标?

4

1 回答 1

4

您可以为此使用WAR 覆盖。使用这种方法,您可以拥有一个包含所有共享内容的 WAR 模块 - 库、资源等。然后创建另一个模块(或多个模块,例如为每个容器)并添加 WAR 类型的依赖项 - 如下所示:

<dependency>
    <groupId>com.example.app</groupId>
    <artifactId>my-war-base</artifact>
    <version>1-SNAPSHOT</version>
    <type>war</type>
</dependency>

只需添加这个(到 WAR 项目!)确保 WAR 被合并(=覆盖)。您甚至可以从基础战争中排除某些部分,例如,如果您有许多容器所需的一些资源/库,但在单个容器中存在问题。

可以进行更多调整 -请参阅文档

顺便说一句,这种方法允许您:

  • 一次为所有容器构建
  • 拥有一致的构建输出(相同的战争 => 相同的目的)
于 2012-11-02T10:48:00.567 回答