2012-04-11 134 views
3

我有一个maven项目,它依赖于另外2个本地项目和一组第三方jar。我想将jar文件移动到另一台机器并从那里运行应用程序。我尝试了mvn exec:exec命令,但它无法找到2个本地项目,这很有道理。我如何得到这个场景的工作。在其上安装应用程序的机器上有maven并连接到互联网,所以如果需要它可以下载pom中提到的罐子。从命令行运行具有依赖关系的maven项目

回答

1

使用Maven-assembly-plugin来创建一个jar-with-dependencies,这将导致执行mvn package创建一个更容易部署的包。

+0

这是** NOT **推荐的方式。即使是Maven程序集插件页面http://maven.apache.org/plugins/maven-assembly-plugin/也建议使用Maven Shade插件来创建一个包含alll依赖项的Jar – InformedA 2016-12-08 12:34:03

3

我真的不能从上面的答案中了解很多。 Maven对我来说看起来很复杂。无论如何,我想通了,如果你这样做,那么你的问题将得到解决

首先在pom.xml文件中俨然图所示

<plugin> 

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

构建中添加该插件我觉得JAR-与依赖性开了窍

现在,按照如下的命令序列从根目录(其中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主要方法... (免责声明:我不是行家专家,但这个工作对我来说)

相关问题