73 java command-line jar classpath
我正在尝试使用Java从命令行(Windows)调用类(main方法).
该类导入其他类(其他jar).
我总是从我的主程序导入的类中获得"class not found exception".
这是我试过的:
添加CLASSPATH环境.var与引用的lib所在的路径(不工作)
java -jar myjar.jar
从命令行调用" " 时我尝试了所有这些不同的参数:" -classpath lib/
"," -classpath ./lib/
"," -classpath lib
"," -cp lib/*
"," -cp lib/\*
"," -classpath lib/referenced-class.jar
"," -classpath ./lib/referenced-class.jar
"(lib是引用的jar所在的位置)
我尝试在我的主要类所在的jar中包装所有引用的jar ...
尽管如此,我还尝试使用以下内容在Manifest文件中指定类:
Class-path referenced-jar.jar
我也尝试过Class-path lib/referenced-jar.jar
Ada*_*ter 117
-jar
如果您碰巧知道要运行的主类的名称,则可以在没有命令行参数的情况下运行它:
java -classpath .;myjar.jar;lib/referenced-class.jar my.package.MainClass
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Linux,则应使用":"而不是";" 在类路径中.
Mic*_*ers 59
如果您正在运行jar文件java -jar
,则忽略该-classpath
参数.您需要在jar的清单文件中设置类路径,如下所示:
Class-Path: jar1-name jar2-name directory-name/jar3-name
请参阅Java教程:向JAR文件的类路径添加类.
编辑:我看到你已经尝试在清单中设置类路径,但是你确定你使用了正确的语法吗?如果你像你所展示的那样跳过' :
'之后' Class-Path
,那就不行了.
art*_*emb 13
尝试
java -cp "your_jar.jar:lib/referenced_jar.jar" com.your.main.Main
Run Code Online (Sandbox Code Playgroud)
如果你在Windows上,你应该使用;
而不是: