2012-08-13 73 views
1

我嘗試添加在下面的目錄中的所有jar文件,但我得到添加多個jar文件到類路徑

異常在線程「主要」 java.lang.NoClassDefFoundError:twitter4j/TwitterException錯誤。

我確定在.jar文件中有TwitterException類。我的classpath語法中是否有錯誤?

[email protected]:~/Desktop/Java/TwitterDeneme/bin$ java -classpath "~/twitter4j-2.2.6/lib/*.jar:." GetHashtag 
Exception in thread "main" java.lang.NoClassDefFoundError: twitter4j/TwitterException 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) 
    at java.lang.Class.getMethod0(Class.java:2685) 
    at java.lang.Class.getMethod(Class.java:1620) 
    at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:488) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:480) 
Caused by: java.lang.ClassNotFoundException: twitter4j.TwitterException 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    ... 6 more 

我使用的是Ubuntu和jdk 1.7。我在Windows中嘗試了相同的命令,並且完美無瑕。有什麼特別的與Ubuntu操作系統有關的嗎?

+0

http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html – 2012-08-13 10:48:31

回答

6

類路徑的*語法相當有限。嘗試:

java -classpath "~/twitter4j-2.2.6/lib/*:." GetHashtag 
+0

+1'*'的作品,但'* .jar'不會。 :P – 2012-08-13 10:40:42

+0

順便說一句,在Windows上需要使用;而不是:讓命令工作。 – 2012-08-13 10:41:15

+0

+1,但參見http://stackoverflow.com/questions/1237093/using-wildcard-for-classpath – 2012-08-13 10:44:50

相關問題