jTwitter, oAuth и Google App Engine.NoClassDefFoundError - PullRequest
2 голосов
/ 12 сентября 2010

Я пытаюсь использовать jTwitter для получения oauth-экземпляра в твиттере с моим ключом / секретом потребителя и токеном / секретом доступа.Это хорошо задокументировано в javadoc здесь .Я скачал signpost, signpost-jetty и библиотеку jtwitter, но после развертывания и запуска сервлета я получаю сообщение об ошибке java.lang.NoClassDefFoundError: winterwell/jtwitter/OAuthSignpostClient Eclipse не жалуется на отсутствие класса, потому что он есть - я вижуэто в самом файле JAR, который находится в моем проекте.Итак, я сказал: забудь, я попробую OAuthScribeClient , но это сгенерировало ОЧЕНЬ ПОДОБНУЮ ОШИБКУ java.lang.NoClassDefFoundError: org/scribe/oauth/Token Этот сбивает меня с толку еще больше, потому что у меня в java-файле следующий кодкомпилируется без ошибок или предупреждений:

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

Очевидно, я упускаю что-то очень фундаментальное, но я абсолютно не понимаю, что это может быть.Благодаря.

Ответы [ 3 ]

2 голосов
/ 12 сентября 2010

Обычно «NoClassDefFoundError» происходит, когда вы забыли скопировать все jar-файлы в каталог «/ war / WEB-INF / lib», поэтому эти библиотеки будут недоступны со стороны сервера.

1 голос
/ 18 сентября 2010

Xo4yHaMope, вероятно, прав.

Если вы работаете с Eclipse, но работаете с использованием веб-контейнера, тогда ваш путь к классу времени выполнения может отличаться от пути к классу вашего проекта - что может вызвать эту ошибку.

0 голосов
/ 21 мая 2012

Чтобы закончить, Бен Уинтерс ответит, что я на самом деле сделал и работал, добавив jar в папку libs в проекте

, см. Также здесь об иерархии папок.1006 * Когда вы делаете это, затмение обычно добавляет jar к зависимостям android перед запуском приложения.Я понимаю, что добавление jar в путь сборки сделает классы доступными только во время сборки

...