[英]java.lang.NoSuchMethodError: com.google.api.client.http.HttpRequest.setParser
[英]google drive dredit error java.lang.NoSuchMethodError: com.google.api.client.http.HttpRequestFactory.buildRequest
嘗試運行Google雲端硬盤示例時,總是會出現以下錯誤。 我檢查了配置,它看起來正確。 使用了最新版本的appengine eclipse插件。 拋出的錯誤看起來好像方法com.google.api.client.http.HttpRequestFactory.buildRequest在運行時不可用。 這是不建議使用的方法,但在編譯時不會給出錯誤。 有人遇到過同樣的情況嗎?
012-12-16 08:52:01.050 Uncaught exception from servlet java.lang.NoSuchMethodError: com.google.api.client.http.HttpRequestFactory.buildRequest(Ljava/lang/String;Lcom/google/api/client/http/GenericUrl;Lcom/google/api/client/http/HttpContent;)Lcom/google/api/client/http/HttpRequest; at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.buildHttpRequest(AbstractGoogleClientRequest.java:290) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:396) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:328) at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:449) at it.contextsolutions.drived.CredentialMediator.getUserInfo(CredentialMediator.java:211) at it.contextsolutions.drived.CredentialMediator.getActiveCredential(CredentialMediator.java:312) at it.contextsolutions.drived.DrEditServlet.getCredentialMediator(DrEditServlet.java:98) at it.contextsolutions.drived.DrEditServlet.getClientId(DrEditServlet.java:143) at it.contextsolutions.drived.StartPageServlet.doGet(StartPageServlet.java:46) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) "
問題實際上是drEdit示例仍然具有GAE 1.6.3版本庫,並且您從較新的版本中添加了GAE API(和drive / oauth2 api)。
只需在web / WEB-INF / lib下檢查項目的源代碼-您將獲得許多相同罐子的副本,但版本不同:
通過刪除jar的舊版本,可以簡單地清理web / WEB-INF / lib文件夾-在我看來,這很有幫助。
我的工作方式:
查看google-drive-sdk-samples,將其復制到您的工作區中,但刪除WEB-INF / lib中所有過期的庫。
添加Drive-SDK和OAuth2 API,這會將所有必需的庫文件自動添加到WEB-INF / lib。
現在您的資料庫是一致的,您一切順利!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.