我有一个基于POM的Java项目。它包含许多用于在WAR中部署的servlet。但是,除此之外,我还有一些类,它们使用嵌入式servlet和数据库环境(用于交钥匙开发环境)独立启动应用程序。此外,还有一个应用程序的命令行客户端。
我希望能够将项目构建到WAR和两个单独的可执行JARS(一个服务器,一个客户端)中。我并不担心包含一些不必要的代码或代表的JAR / WAR-我只想让所有3代码都工作。
使用Maven执行此操作的“正确”方法是什么?
答案 0 :(得分:1)
多个项目是实现此目的的方法。将公共代码与独立支持一起放在第一个项目中。然后使用依赖于第一个的war包装制作第二个。
答案 1 :(得分:0)
您可以使用assembly plugin执行此操作。程序集插件可以为您打包zip
或tar.gz
存档。它是独立应用程序的完美分发格式。配置程序集插件时,您可以将其链接到package
阶段,因此应用程序将以两种格式打包:war
和zip
。
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>