2010-05-29 4 views
1

J'essaie d'accéder à twitter via oauth. Par conséquent, je me suis inscrit mon application, téléchargé twitter4j, ajouté les pots dans mon Eclipse Project, puis a essayé d'exécuter le code suivant:Twitter4J jette une exception dans TwitterFactory

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

Mais elle soulève l'exception suivante:

[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 

I actuellement ne peut pas comprendre pourquoi ... pouvez-vous s'il vous plaît me donner quelques suggestions?

Meilleures salutations Philipp

Répondre

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

Vous devez ajouter apache composants http à votre classpath

+0

J'ai ajouté le fichier twitter4j-httpclient-support-2.1.3-SNAPSHOT.jar ainsi que le fichier httpclient-4.0.1.jar, mais cela n'a rien changé. :/ –

+1

Essayez d'utiliser DefaultHttpClient dans une classe simple pour vous assurer qu'il est réellement sur le chemin de classe de votre projet – Guillaume

+0

DefaultHttpClient client = new DefaultHttpClient(); s'exécute sans aucune exception. –

0

Car je lis 'projet Eclipse' - si cela est en fait un projet de plugin/rcp et vos bibliothèques résident dans d'autres plugins, vous devez exporter les paquets requis via plugin.xml, sinon cela entraînera des erreurs NoClassDefFound.

+0

merci! mais ce n'est pas un projet de plugin :) –

Questions connexes