Java:如何从命令行导入jar文件
我试图从命令行(Windows)与Java调用类(主要方法)。
该类导入其他类(其他的jar子)。
我总是从我的主程序导入的类中得到“class not found exception”。
这是我的尝试:
-
添加一个CLASSPATH环境。 var与引用的lib所在的path(不工作)
-
java -jar myjar.jar
调用“java -jar myjar.jar
”时,我尝试了所有这些不同的参数:“--classpath lib/
”,“--classpath ./lib/
-classpath lib
”,“--cp lib/*
” ,“-classpath lib/referenced-class.jar
-cp lib/\*
”,“--classpath lib/referenced-class.jar
”,“-classpath lib/referenced-class.jar
-classpath ./lib/referenced-class.jar
是引用的jar所在的位置) -
我试着在我的主类所在的jar包里包装所有引用的jar …
-
所有这一切,我也试图指定在Manifest文件中的类:
Class-path referenced-jar.jar
,我也试过Class-path lib/referenced-jar.jar
如果您碰巧知道您希望运行的主类的名称,则可以在不使用-jar
命令行参数的情况下运行它:
java -classpath .;myjar.jar;lib/referenced-class.jar my.package.MainClass
如果你正在使用linux,你应该使用“:”而不是“;” 在类path中。
如果使用java -jar
运行jar文件, 则会忽略 -classpath
参数。 您需要在jar的清单文件中设置类path,如下所示:
Class-Path: jar1-name jar2-name directory-name/jar3-name
请参阅Java教程: 将类添加到JAR文件的类path 。
编辑:我看到你已经尝试设置清单中的类path,但你确定你使用正确的语法? 如果你像显示的那样在“ Class-Path
”之后跳过了“ :
”,那么这将不起作用。
尝试
java -cp "your_jar.jar:lib/referenced_jar.jar" com.your.main.Main
如果你在窗户上,你应该使用;
而不是:
你可以尝试在eclipse中导出为“Runnable jar”。 我也有问题,当我出口作为“jar子”,但我从来没有问题,当我作为“运行jar”导出。