繁体   English   中英

twitter4j 4.0.2 java.lang.NoClassDefFoundError:com / squareup / okhttp / OkHttpClient

[英]twitter4j 4.0.2 java.lang.NoClassDefFoundError: com/squareup/okhttp/OkHttpClient

我正在使用twitter4j 4.0.2

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey(this.consumerKey);
cb.setOAuthConsumerSecret(this.consumerSecret);
cb.setOAuthAccessToken(this.accessToken);
cb.setOAuthAccessTokenSecret(this.accessTokenSecret);
this.twitter = new TwitterFactory(cb.build()).getInstance();

这是我运行此程序时遇到的错误

Exception in thread "main" java.lang.NoClassDefFoundError: com/squareup/okhttp/OkHttpClient
    at twitter4j.AlternativeHttpClientImpl.prepareClient(AlternativeHttpClientImpl.java:120)
    at twitter4j.AlternativeHttpClientImpl.getConnection(AlternativeHttpClientImpl.java:60)
    at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:88)
    at twitter4j.AlternativeHttpClientImpl.handleRequest(AlternativeHttpClientImpl.java:104)
    at twitter4j.HttpClientBase.request(HttpClientBase.java:53)
    at twitter4j.HttpClientBase.get(HttpClientBase.java:71)
    at twitter4j.TwitterBaseImpl.fillInIDAndScreenName(TwitterBaseImpl.java:128)
    at twitter4j.TwitterImpl.verifyCredentials(TwitterImpl.java:545)

如何使它工作?

似乎版本4.0.2至少对okhttp有依赖性。 这仅适用于twitter4j-spdy-support软件包,而不适用于twitter4j中的其他软件包。

pom.xml具有:

     <dependency>
         <groupId>com.squareup.okhttp</groupId>
         <artifactId>okhttp</artifactId>
         <version>1.5.1</version>
     </dependency>

如果要使用twitter4j-spdy-support,则需要okhttp JAR文件。 如果使用maven,则使用maven运行应用程序将解决问题。

另一个选择是不使用spdy支持并且不在类路径中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM