我正在尝试使用jTwitter通过我的消费者密钥/秘密和访问令牌/秘密来获取Twitter的oauth实例。这在javadoc here中有详细记载。我已经下载了路标,signpost-jetty和jtwitter库,但是在部署并运行servlet后,我收到错误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");
显然,我遗漏了一些非常基本的东西,但我对它可能是什么感到绝对不知所措。感谢。
答案 0 :(得分:2)
当您忘记将所有jar文件复制到“/ war / WEB-INF / lib”目录时,通常会出现“NoClassDefFoundError”,因此这些库将在服务器端不可用。
答案 1 :(得分:1)
Xo4yHaMope可能是对的。
如果您使用Eclipse工作但使用Web容器运行,那么您的运行时类路径可能与您的项目类路径不同 - 这可能会导致此错误。
答案 2 :(得分:0)
为了完成Ben Winters的回答,我实际上做了和工作的是添加jar 项目中的libs文件夹
另请参阅有关文件夹层次结构的here。
当你这样做时,eclipse通常会在启动应用程序之前将jar添加到android依赖项中。我意识到在构建路径中添加jar将使类仅在构建期间可用