我有一个 maven 项目,它依赖于 2 个其他本地项目和许多 3rd 方 jars。我想将 jar 文件移动到另一台机器并从那里运行应用程序。我尝试了 mvn exec:exec 命令,但找不到 2 个本地项目,这是有道理的。我如何让这种情况发挥作用。将安装应用程序的机器有 maven 并连接到 Internet,因此如果需要,它可以下载 pom.xml 中提到的 jar。
问问题
9762 次
2 回答
8
从上面的答案中,我真的无法理解太多。Maven对我来说看起来很复杂。无论如何,我想如果您这样做,那么您的问题将得到解决
首先在 pom.xml 文件中在build部分添加这个插件,如下所示
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
我认为 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 专家,但这对我有用)
于 2016-02-07T18:13:31.643 回答
1
使用Maven-assembly-plugin创建一个 jar-with-dependencies,这将导致mvn package
创建一个更容易部署的包的执行。
于 2012-04-11T04:05:20.090 回答