我正在使用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支持并且不在类路径中。
关于java - twitter4j 4.0.2 java.lang.NoClassDefFoundError:com/squareup/okhttp/OkHttpClient,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26038285/