构建用于不同的容器不同的行家文物(Building different maven artifact

2019-10-17 08:57发布

我想创建一台同时运行在Tomcat和完整的Java EE服务器上的一个项目(多模块)。 由于Tomcat是缺少情侣,图书馆的我需要包括他们的Tomcat,而是一个完整的Java EE容器具有这些库,甚至可能会产生冲突,如果我有他们反正。

我想在一个地方(可能是Java EE容器WAR项目)我所有的HTML文件,然后有一个建立同一场战争的另一个模块,但在WAR文件添加的依赖关系。

如何实现这一目标?

Answer 1:

您可以使用WAR覆盖了这一点。 通过这种方法,你可以有一个WAR模块的所有共享的东西 - 库,资源等,然后再创建一个模块(或更多的人,说每个集装箱),并添加一个WAR类型的依赖 - 是这样的:

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

刚刚添加该(一个WAR项目!)确保战争是合并(=重叠)。 你甚至可以从基础战争排除某些部分,例如,如果你有很多要求的容器,但在单一个问题的一些资源/库。

一些更多的调整是可能的- 看到的文档 。

顺便说一句,这种方法可以让你:

  • 搭建所有容器一次
  • 有一致的生成输出(同一战争=>同样的目的)


文章来源: Building different maven artifacts for different containers