2015-06-14 129 views
1

我已经做了很多次尝试,以输入命令从终端正确运行JAR文件,并且我100%确定所有JAR文件等都在给定的路径中,但我不断收到一个ClassDefNotFoundException。这与我进入命令的方式有什么关系?如何正确设置Windows命令行中的类路径

C:\Users\ANNA\Downloads>"C:\Program Files\Java\jre1.8.0_45\bin\java.exe" 

-Djava.library.path="C:\Users\ANNA\Downloads\Windows64_Libjitsi\lib\native\windows-64" 

-cp 

"C:\Users\ANNA\Downloads\SimplifiedConnectionProvider.jar;C:\Users\ANNA\Downloads\Windows64_Libjitsi" 

Core.PublicService 

Exception in thread "main" java.lang.NoClassDefFoundError: org/jitsi/service/lib 
jitsi/LibJitsi 
at Core.PublicService.<clinit>(PublicService.java:38) 
Caused by: java.lang.ClassNotFoundException: org.jitsi.service.libjitsi.LibJitsi 

    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 1 more 

没有工作。再次尝试:

C:\Users\ANNA\Downloads>"C:\Program Files\Java\jre1.8.0_45\bin\java.exe" -Djava. 
library.path="C:\Users\ANNA\Downloads\Windows64_Libjitsi\lib\native\windows-64" 
-cp C:\Users\ANNA\Downloads\SimplifiedConnectionProvider.jar;C:\Users\ANNA\Downl 
oads\Windows64_Libjitsi Core.PublicService 

Exception in thread "main" java.lang.NoClassDefFoundError: org/jitsi/service/lib 
jitsi/LibJitsi 
     at Core.PublicService.<clinit>(PublicService.java:38) 
Caused by: java.lang.ClassNotFoundException: org.jitsi.service.libjitsi.LibJitsi 

    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 1 more 

没有工作。再次尝试:

C:\Users\ANNA\Downloads>"C:\Program Files\Java\jre1.8.0_45\bin\java.exe" -Djava. 
library.path=C:\Users\ANNA\Downloads\Windows64_Libjitsi\lib\native\windows-64 -c 
p C:\Users\ANNA\Downloads\SimplifiedConnectionProvider.jar;C:\Users\ANNA\Downloa 
ds\Windows64_Libjitsi Core.PublicService 
Exception in thread "main" java.lang.NoClassDefFoundError: org/jitsi/service/lib 
jitsi/LibJitsi 
     at Core.PublicService.<clinit>(PublicService.java:38) 
Caused by: java.lang.ClassNotFoundException: org.jitsi.service.libjitsi.LibJitsi 

     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     ... 1 more 

注意的是,类“org.jitsi.service.libjitsi.LibJitsi”真的是一个JAR文件,其真正的位置是在文件夹“C:\用户\安娜\下载\ Windows64_Libjitsi” ,这是我尝试在命令行中指定的JAR文件的类路径。

回答

1

您已将JAR添加到CLASSPATH,而不是包含此JAR的文件夹。所以-cp论点应该是这样的C:\Users\ANNA\Downloads\SimplifiedConnectionProvider.jar;C:\Users\ANNA\Downloads\Windows64_Libjitsi\the_name_of_the_JAR.jar

+0

如果我想要一个文件夹中的所有jar文件,该怎么办? –

+0

我想要文件夹“C:\ Users \ ANNA \ Downloads \ Windows64_Libjitsi”中的所有jar文件,但只有一个jar文件名为“C:\ Users \ ANNA \ Downloads \ SimplifiedConnectionProvider.jar” –

+1

Nevermind,*是通配符: http://stackoverflow.com/questions/219585/setting-multiple-jars-in-java-classpath –

相关问题