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将使类仅在构建期间可用