我正在使用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)
如何让这个工作?
答案 0 :(得分:1)
版本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支持而不在类路径中。