1

oauth 経由で Twitter にアクセスしようとしています。したがって、アプリを登録し、Twitter4j をダウンロードし、Eclipse プロジェクトに 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

今のところ原因がわかりません...何かアドバイスをいただけないでしょうか?

よろしくフィリップ

4

2 に答える 2

2
Caused by: java.lang.NoClassDefFoundError: org/apache/http/impl/client/DefaultHttpClient

クラスパスにApache httpコンポーネントを追加する必要があります

于 2010-05-29T09:31:46.707 に答える
0

「Eclipse プロジェクト」を読みました。これが実際には plugin/rcp プロジェクトであり、ライブラリが他のプラグインにある場合は、必要なパッケージを plugin.xml 経由でエクスポートする必要があります。そうしないと、NoClassDefFound エラーが発生します。

于 2010-05-29T09:57:55.170 に答える