2015-06-14 126 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 –

相關問題