【问题标题】:Twitter4J throws exception in TwitterFactoryTwitter4J 在 TwitterFactory 中抛出异常
【发布时间】:2011-02-25 10:37:46
【问题描述】:

我正在尝试通过 oauth 访问 Twitter。因此,我注册了我的应用程序,下载了 Twitter4j,在我的 Eclipse-Project 中添加了 jar,然后尝试执行以下代码:

Twitter twitter = new TwitterFactory().getOAuthAuthorizedInstance("[key]","[secretKey]");
RequestToken requestToken = twitter.getOAuthRequestToken();
System.out.println(requestToken.getAuthorizationURL());

但它引发了以下异常:

[Sat May 29 11:19:11 CEST 2010]Using class twitter4j.internal.logging.StdOutLoggerFactory as logging factory.
[Sat May 29 11:19:11 CEST 2010]Use twitter4j.internal.http.alternative.HttpClientImpl as HttpClient implementation.
Exception in thread "main" java.lang.AssertionError: java.lang.reflect.InvocationTargetException
    at twitter4j.internal.http.HttpClientFactory.getInstance(HttpClientFactory.java:71)
    at twitter4j.internal.http.HttpClientWrapper.<init>(HttpClientWrapper.java:59)
    at twitter4j.http.OAuthAuthorization.init(OAuthAuthorization.java:83)
    at twitter4j.http.OAuthAuthorization.<init>(OAuthAuthorization.java:74)
    at twitter4j.TwitterFactory.getOAuthAuthorizedInstance(TwitterFactory.java:112)
    at MainProgram.main(MainProgram.java:18)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at twitter4j.internal.http.HttpClientFactory.getInstance(HttpClientFactory.java:65)
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: org/apache/http/impl/client/DefaultHttpClient
    at twitter4j.internal.http.alternative.HttpClientImpl.<init>(HttpClientImpl.java:63)
    ... 10 more

我目前不知道为什么……你能给我一些建议吗?

最好的问候 菲利普

【问题讨论】:

    标签: java exception twitter twitter4j


    【解决方案1】:
    Caused by: java.lang.NoClassDefFoundError: org/apache/http/impl/client/DefaultHttpClient
    

    您需要将 apache http 组件添加到您的类路径中

    【讨论】:

    • 我已经添加了 twitter4j-httpclient-support-2.1.3-SNAPSHOT.jar 以及 httpclient-4.0.1.jar,但这并没有改变任何东西。 ://
    • 尝试在一个简单的类中使用 DefaultHttpClient 以确保它实际上在您项目的类路径中
    • DefaultHttpClient 客户端 = new DefaultHttpClient();无异常执行。
    • 您能发布一个压缩的精简版 Eclipse 项目吗?
    【解决方案2】:

    对于我阅读“eclipse 项目” - 如果这实际上是一个插件/rcp 项目并且您的库位于其他插件中,那么您必须通过 plugin.xml 导出所需的包,否则将导致 NoClassDefFound 错误。

    【讨论】:

      猜你喜欢
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 2013-05-24
      • 1970-01-01
      • 2011-05-30
      • 2017-02-14
      • 2016-08-10
      相关资源
      最近更新 更多