Java 如何在CLI上运行maven生成的jar
我试图让一个maven管理的项目在命令行上运行 我在pom.xml中有一组依赖项,这些依赖项随后被下载并安装在~/.m2/repository/中。我已经在pom中包含了必要的配置,以便将类路径添加到jar清单中 现在的问题是,我正试图运行jar:java-jarproject-SNAPSHOT.jar Java找不到下载的依赖项(我假设是因为它们在清单中没有列出路径),但我不确定如何最好地运行它 选项1:Java 如何在CLI上运行maven生成的jar,java,maven,command-line-interface,Java,Maven,Command Line Interface,我试图让一个maven管理的项目在命令行上运行 我在pom.xml中有一组依赖项,这些依赖项随后被下载并安装在~/.m2/repository/中。我已经在pom中包含了必要的配置,以便将类路径添加到jar清单中 现在的问题是,我正试图运行jar:java-jarproject-SNAPSHOT.jar Java找不到下载的依赖项(我假设是因为它们在清单中没有列出路径),但我不确定如何最好地运行它 选项1: 创建的jar没有依赖的jar文件。因此,您需要告诉java所有依赖JAR所在的类路径
创建的jar没有依赖的jar文件。因此,您需要告诉java所有依赖JAR所在的类路径
java -cp /lcoation/of/dependency1.jar:/location/of/dependency2.jar:/location/of/dependency3.jar -jar project-SNAPSHOT.jar
选项2:使用
AppAssembler
plugin是更简单、更好的解决方案。它的作用是将您的jar打包到包含
如果您不想要所有的行李,只想要一个具有依赖关系的
jar
你可以在这里参考一下
这将包含其中的所有依赖jar
编辑1:对于选项1,您可以使用<代码>依赖项:生成类路径
mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.classpathScope=runtime
你可以在这里找到更多的例子:。太棒了——这正是我需要的。像这样包装所有东西有什么警告吗?还是一切都好。内存使用等?没有什么。它非常简单的东西,和1一样。制作罐子,2。正在复制repo文件夹中的从属项,3。编写类似以下内容的shell脚本
java-jar../myapp.jar Mainclass-cp../repo/*.jar
re选项1,使用<代码>依赖项:构建类路径不适用于maven 3.0.4[ERROR]未知生命周期阶段。mainClass=my.Main“