2

我想用我的消費者密鑰/祕密和訪問令牌/祕密使用jTwitter獲取oauth實例到twitter。這在javadoc here中有詳細記錄。我已經下載了路標,signpost-jetty和jtwitter庫,但是在部署並運行servlet之後,出現錯誤java.lang.NoClassDefFoundError: winterwell/jtwitter/OAuthSignpostClient Eclipse沒有抱怨班級不在那裏,因爲它在那裏 - 我可以看到它JAR文件本身,它在我的項目中。所以,我說忘了它,我會嘗試OAuthScribeClient來代替,但這產生了一個非常類似的錯誤java.lang.NoClassDefFoundError: org/scribe/oauth/Token這一個更令我困惑,因爲我在我的java文件中有以下代碼,它編譯時沒有錯誤或警告:jTwitter,oAuth和Google App Engine。 NoClassDefFoundError

import org.scribe.oauth.Token; 
Token token = new Token("myaccesstokeninfo", "accesstokensecret"); 

很明顯,我錯過了一些非常基本的東西,但是我對它的可能性絕對不知所措。謝謝。

回答

2

當您忘記將所有jar文件複製到您的「/ war/WEB-INF/lib」目錄時,通常會發生「NoClassDefFoundError」,因此這些libs將從服務器端不可用。

+0

@ ilia-akhmadullin我遇到同樣的問題,但我的jar文件位於/ war/web-inf/lib文件夾中。我無法解決此問題。有什麼其他原因可能會發生這種情況嗎?謝謝。 – 2011-04-17 06:33:16

1

Xo4yHaMope可能是對的。

如果您使用Eclipse工作,但使用Web容器運行,那麼您的運行時類路徑可能與您的項目類路徑不同 - 這可能會導致此錯誤。

0

爲了完成本溫特斯回答什麼,我居然沒有和工作是項目

又見here有關文件夾層次結構中添加的jar在 libs文件夾。

當你這樣做時,eclipse通常會在啓動應用程序之前將jar添加到android依賴關係中。我知道的是,在構建路徑中添加一個jar將使類僅在構建期間可用