Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WAR和独立服务器/客户端的Maven项目_Java_Maven - Fatal编程技术网

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

Java WAR和独立服务器/客户端的Maven项目,java,maven,Java,Maven,我有一个基于POM的Java项目。它包含许多用于在战争中部署的servlet。然而,除此之外,我还有一些类,它们使用嵌入式servlet和数据库环境(对于交钥匙开发环境)作为独立的应用程序启动应用程序。此外,该应用程序还有一个命令行客户端 我希望能够将项目构建到WAR和两个单独的可执行JAR(一个服务器,一个客户端)中。我不担心JAR/WAR包含一些不必要的代码或DEP,我只希望所有3个都能工作 Maven的“正确”方法是什么?多个项目是实现这一点的方法。将通用代码与独立支持放在第一个项目中。然

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

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


Maven的“正确”方法是什么?

多个项目是实现这一点的方法。将通用代码与独立支持放在第一个项目中。然后使用依赖于第一个项目的war打包进行第二个项目。

多个项目是实现这一点的方法。将通用代码与独立支持放在第一个项目中。然后根据第一种包装制作第二种战争包装。

您可以使用它来完成这项工作。汇编插件可以为您打包
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>

maven汇编插件
2.2.1
组装
包裹
装配
您可以使用它来执行此操作。汇编插件可以为您打包
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>

maven汇编插件
2.2.1
组装
包裹
装配