2

我正在尝试使用 jTwitter 使用我的消费者密钥/秘密和访问令牌/秘密来获取 oauth 实例。这在此处的 javadoc 中有详细记录。我已经下载了 signpost、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");

显然,我遗漏了一些非常基本的东西,但我完全不知道它可能是什么。谢谢。

4

3 回答 3

2

当您忘记将所有 jar 文件复制到您的“/war/WEB-INF/lib”目录时,通常会发生“NoClassDefFoundError”,因此这些库将在服务器端不可用。

于 2010-09-12T16:00:32.280 回答
1

Xo4yHaMope 可能是对的。

如果您在 Eclipse 中工作但使用 Web 容器运行,那么您的运行时类路径可能与您的项目类路径不同 - 这可能会导致此错误。

于 2010-09-18T16:50:00.027 回答
0

为了完成 Ben Winters 的回答,我实际所做和工作的是将 jar 添加到项目的 libs 文件夹中

另请参阅此处有关文件夹层次结构的信息。

当您执行此操作时,eclipse 通常会在启动应用程序之前将 jar 添加到 android 依赖项中。我意识到在构建路径中添加一个 jar 将使类仅在构建期间可用

于 2012-05-21T18:24:54.440 回答