从命令行运行带有依赖项的maven项目

时间:2012-04-11 03:58:22

标签: java maven

我有一个maven项目,取决于另外两个本地项目和一系列第三方罐子。我想将jar文件移动到另一台机器并从那里运行应用程序。我尝试了mvn exec:exec命令,但它无法找到2个本地项目,这是有道理的。如何使此方案生效。安装应用程序的机器上有maven并连接到互联网,因此如果需要,它可以下载pom中提到的罐子。

2 个答案:

答案 0 :(得分:5)

从上面的答案我真的不太了解。 Maven看起来很复杂。无论如何,我发现如果你这样做,那么你的问题将得到解决

首先在pom.xml文件中将此插件添加到 build 部分,如下所示

  <plugin>

    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
 </plugin>

我认为jar-with-dependencies可以解决问题

现在按照根目录(存在pom.xml的地方)中的这一系列命令进行操作

mvn compile
mvn package
mvn install assembly:assembly

我不知道mvn包是否需要,但第三个是重要的。 现在,如果你看到你的目标/你会看到一个依赖的jar。

如何运行

 java -cp target/Your-Jar-1.0-SNAPSHOT-jar-with-dependencies.jar com.mycode.myapp

这将运行你的java程序代码com.mycode.myapp主要方法... (免责声明:我不是maven的专家,但这对我有用)

答案 1 :(得分:1)

使用Maven-assembly-plugin制作带有依赖关系的jar,这将导致执行mvn package,从而创建一个更易于部署的包。