2012-07-02 277 views
0

編輯時org.apache.commons.codec.binary.Base64:拋出java.lang.ClassNotFoundException:試圖創建CommonsHttpOAuthConsumer

public static void main(String[] args)throws Exception { 
    // TODO Auto-generated method stub 
    System.out.println("debug1"); 
    CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer("key","secret"); 
     System.out.println("debug2"); 
...} 

喜當我嘗試運行此腳本,我得到這樣的響應:

DEBUG1

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64 

at oauth.signpost.signature.OAuthMessageSigner.<init>(OAuthMessageSigner.java:37) 

at oauth.signpost.signature.HmacSha1MessageSigner.<init>(HmacSha1MessageSigner.java:30) 

at oauth.signpost.AbstractOAuthConsumer.<init>(AbstractOAuthConsumer.java:65) 

at oauth.signpost.commonshttp.CommonsHttpOAuthConsumer.<init>(CommonsHttpOAuthConsumer.java:30) 

at mein.tester.main(tester.java:21) 

Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.binary.Base64 

at java.net.URLClassLoader$1.run(Unknown Source) 

at java.security.AccessController.doPrivileged(Native Method) 

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) 

at java.lang.ClassLoader.loadClassInternal(Unknown Source) 

... 5 more 

線21是

  System.out.println("debug2"); 
0前行

嗯,我可以很容易地在eclipse中編譯代碼,並且我添加了2個Signpost librabrys以及common-codec.jar作爲外部庫,因爲我在另一篇文章中讀到了..但是,如何使它在運行時可用?在「添加到WEB-INF/lib」 - >我創建了該文件夾並添加了罐子 -i也嘗試了defaultoauthconsumer->同樣的錯誤

+1

你的classpath中是否有所有必需的jar? – Wug

回答

1

右鍵單擊jar並選擇「add to build path 「?我不認爲IDE會自動將它添加到你的類路徑,除非你告訴它。

+0

是啊,他們都加入到類路徑(rightclick項目屬性 - >建立的Java路徑 - > librarys添加外部jar ...我也tryed rightclicking他們,並添加到建立的路徑..現在我有他們2次在 – user1497119

+0

添加它作爲一個外部的jar只適用於你的工作空間以外的地方,把它放在web-inf/lib中只適用於你將它部署爲一個web應用程序你試過調用類似Base64.decodeBase64(string) - 從你的主要方法 - 這是一個很好的測試,看看它是否在你的類路徑中。它是否與你的Main類在同一個項目中?或者,你是否在編解碼器jar中查看該類是否在那裏? – plasma147

+0

謝謝你是對的,我檢查了commons.jar,並且只有.html文件...在我下載了一個新的普通編解碼器之後,添加了它+勾選了它;它工作正常...我希望我能調試其餘的我自己現在) – user1497119

相關問題