Java:如何从命令行导入jar文件

2022-08-31 13:35:45

我正在尝试使用Java从命令行(Windows)调用类(main方法)。
该类导入其他类(其他 jar)。

我总是从我的主程序导入的类中获得“未找到类异常”。

以下是我尝试过的方法:

  • 添加一个类路径环境。var 与引用的 lib 所在的路径(不起作用)的 var

  • 当从命令行调用“”时,我尝试了所有这些不同的参数:“”,“”,“”,“”,“”,“”,“”,“”,“”(lib是引用的jar所在的位置)java -jar myjar.jar-classpath lib/-classpath ./lib/-classpath lib-cp lib/*-cp lib/\*-classpath lib/referenced-class.jar-classpath ./lib/referenced-class.jar

  • 我尝试将所有引用的jar打包在我的主类所在的jar中......

  • 有了这个,我还尝试用:来指定清单文件中的类,我也尝试了Class-path referenced-jar.jarClass-path lib/referenced-jar.jar


答案 1

如果您碰巧知道要运行的主类的名称,则可以在没有命令行参数的情况下运行它:-jar

java -classpath .;myjar.jar;lib/referenced-class.jar my.package.MainClass

如果你使用的是 linux,你应该在类路径中使用 “:” 而不是 “;”。


答案 2

如果运行的 jar 文件为 ,则忽略该参数。您需要在 jar 的清单文件中设置类路径,如下所示:java -jar-classpath

Class-Path: jar1-name jar2-name directory-name/jar3-name

请参阅 Java 教程:将类添加到 JAR 文件的类路径

编辑:我看到您已经尝试过在清单中设置类路径,但您确定使用了正确的语法吗?如果您像显示的那样跳过“”后面的“”,则它将无法正常工作。:Class-Path


推荐