我有一个maven项目,取决于另外两个本地项目和一系列第三方罐子.我想将jar文件移动到另一台机器并从那里运行应用程序.我尝试了mvn exec:exec命令,但它无法找到2个本地项目,这是有道理的.如何使此方案生效.安装应用程序的机器上有maven并连接到互联网,因此如果需要,它可以下载pom中提到的罐子.
从上面的答案我真的不太了解.Maven看起来很复杂.无论如何,我想到如果你这样做,那么你的问题将得到解决
首先在pom.xml文件中在build部分添加此插件,如下所示
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我认为jar-with-dependencies可以解决问题
现在按照根目录中的这一系列命令(pom.xml存在的位置)
mvn compile
mvn package
mvn install assembly:assembly
Run Code Online (Sandbox Code Playgroud)
我不知道mvn包是否需要,但第三个是重要的.现在,如果你看到你的目标/你会看到一个依赖的jar.
怎么跑
java -cp target/Your-Jar-1.0-SNAPSHOT-jar-with-dependencies.jar com.mycode.myapp
Run Code Online (Sandbox Code Playgroud)
这将运行你的java程序代码com.mycode.myapp主要方法...(免责声明:我不是maven的专家,但这对我有用)