2013-07-24 24 views
1

无法获取Twitter的情况下,请建议我做了错误Twitter4J抛出异常java.lang.NoSuchMethodError:

代码:同时从Twitter V1迁移到V1.1

String consumerKey = "************************"; 

    //Your Twitter App's Consumer Secret 
    String consumerSecret = "********************"; 

    //Your Twitter Access Token 
    String accessToken = "**********************************"; 

    //Your Twitter Access Token Secret 
    String accessTokenSecret = "*****************************"; 

    //Instantiate a re-usable and thread-safe factory 
    TwitterFactory twitterFactory = new TwitterFactory(); 

    //Instantiate a new Twitter instance 
    Twitter twitter = twitterFactory.getInstance(); /// **problem comes over here** 

    twitter.setOAuthConsumer(consumerKey, consumerSecret); 

    twitter.setOAuthAccessToken(new AccessToken(accessToken, accessTokenSecret)); 

java.lang.NoSuchMethodError: twitter4j.TwitterFactory.getInstance(Ltwitter4j/auth/AccessToken;)Ltwitter4j/Twitter; at com.verve.meetin.twitter.twitterAuthenticationServlet.doGet(twitterAuthenticationServlet.java:151) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) INFO-Inside user upcoming trips

回答

3

我用最新发布的版本(3.0.3)试过你的代码,它编译带领,跑得很好。

我认为你可能在类路径上有两个不同版本的Twitter4J,或者你正在编译一个版本并且与另一个版本一起运行。一个版本将有方法,其他版本不会。

请注意,版本2.1.9及以后版本中引入了TwitterFactory#getInstance(AccessToken),这是异常报告的缺失方法。