WAR和独立服务器/客户端的Maven项目

时间:2011-05-11 01:32:41

标签: java maven

我有一个基于POM的Java项目。它包含许多用于在WAR中部署的servlet。但是,除此之外,我还有一些类,它们使用嵌入式servlet和数据库环境(用于交钥匙开发环境)独立启动应用程序。此外,还有一个应用程序的命令行客户端。

我希望能够将项目构建到WAR和两个单独的可执行JARS(一个服务器,一个客户端)中。我并不担心包含一些不必要的代码或代表的JAR / WAR-我只想让所有3代码都工作。

使用Maven执行此操作的“正确”方法是什么?

2 个答案:

答案 0 :(得分:1)

多个项目是实现此目的的方法。将公共代码与独立支持一起放在第一个项目中。然后使用依赖于第一个的war包装制作第二个。

答案 1 :(得分:0)

您可以使用assembly plugin执行此操作。程序集插件可以为您打包ziptar.gz存档。它是独立应用程序的完美分发格式。配置程序集插件时,您可以将其链接到package阶段,因此应用程序将以两种格式打包:warzip

<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>