我正在尝试让 Maven 管理的项目在命令行上运行。
我在 pom.xml 中有一组依赖项,随后下载并安装在 ~/.m2/repository/中。我在我的 pom 中包含了必要的配置,以将类路径添加到 jar list 。
现在的问题是我正在尝试这样运行 jar:java -jar project-SNAPSHOT.jar。
Java 找不到下载的依赖项(我假设是因为它们在 list 中没有列出路径?),但我不确定如何最好地运行它。
最佳答案
选项1:
创建的 jar 没有依赖的 jar 文件。因此,您需要告诉 java 所有依赖的 jar 所在的类路径
java -cp /lcoation/of/dependency1.jar:/location/of/dependency2.jar:/location/of/dependency3.jar -jar project-SNAPSHOT.jar
选项 2:
更简单和更好的解决方案是使用 AppAssembler
插件。它的作用 它将您的 jar 打包到一个目录结构中,该目录结构包含
- 依赖jar
- 创建的 jar
- 执行它的 shell/windows 脚本
看这里http://www.mojohaus.org/appassembler/appassembler-maven-plugin/
选项 3:
如果您不想要所有行李,只想拥有一个 jar-with-dependency
你可能想引用这里 How can I create an executable JAR with dependencies using Maven?
这将包含其中的所有依赖 jar。
编辑 1: 对于选项 1,Brad M提到您可以使用 dependency plugin 获取所有项目的 deps 列表。 . dependency:build-classpath
关于java - 如何在 CLI 上运行 maven 生成的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12749206/