【问题标题】:jTwitter, oAuth, and Google App Engine. NoClassDefFoundErrorjTwitter、oAuth 和 Google App Engine。 NoClassDefFoundError
【发布时间】:2012-05-22 02:24:54
【问题描述】:

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

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

【问题讨论】:

    标签: google-app-engine oauth noclassdeffounderror jtwitter signpost


    【解决方案1】:

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

    【讨论】:

    • @ilia-akhmadullin 我遇到了同样的问题,但我的 jar 文件位于 /war/web-inf/lib 文件夹中。我无法解决这个问题。是否有任何其他原因导致这种情况发生。谢谢。
    【解决方案2】:

    Xo4yHaMope 可能是对的。

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

    【讨论】:

      【解决方案3】:

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

      另请参阅here 了解文件夹层次结构。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-02
        • 2011-08-26
        • 1970-01-01
        • 2011-02-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多