我正在尝试让 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 获取所有项目部门的列表。 。 依赖:构建类路径
关于java - 如何在 CLI 上运行 Maven 生成的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42923126/