3

我有一个 maven 项目,它依赖于 2 个其他本地项目和许多 3rd 方 jars。我想将 jar 文件移动到另一台机器并从那里运行应用程序。我尝试了 mvn exec:exec 命令,但找不到 2 个本地项目,这是有道理的。我如何让这种情况发挥作用。将安装应用程序的机器有 maven 并连接到 Internet,因此如果需要,它可以下载 pom.xml 中提到的 jar。

4

2 回答 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 回答