我正在尝试让 Maven 管理的项目在命令行上运行。
我在 pom.xml 中有一组依赖项,随后将其下载并安装在 ~/.m2/repository/ 中。我已在 pom 中包含必要的配置,以将类路径添加到 jar 清单中。
现在的问题是我尝试运行该 jar:java -jar project-SNAPSHOT.jar。
Java找不到下载的依赖项(我假设是因为它们在清单中列出时没有路径?),但我不确定如何最好地运行它。
选项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 包打包到一个目录结构中,其中包含
- 依赖罐子
- 创建的罐子
- shell/windows 脚本来执行它
看看这里http://www.mojohaus.org/appassembler/appassembler-maven-plugin/
选项 3:
如果您不想要所有行李而只想拥有一件jar-with-dependency
您可能想参考这里如何使用 Maven 创建具有依赖项的可执行 JAR?
这将包含其中的所有依赖 jar。
Edit 1:对于选项 1,Brad M提到您可以使用以下命令获取所有项目部门的列表依赖插件. dependency:build-classpath
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)