尝试运行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) "
答案 0 :(得分:1)
问题实际上drEdit样本仍然有GAE 1.6.3版本库,并且您从较新版本添加了GAE API(和drive / oauth2 api)。
只需在web / WEB-INF / lib下查看项目的来源 - 您将拥有许多相同的jars,但版本不同:
通过删除旧版本的jar简单清理web / WEB-INF / lib文件夹 - 在我看来它有帮助。
答案 1 :(得分:0)
我的工作方式:
查看google-drive-sdk-samples,将其复制到您的工作区,但删除WEB-INF / lib中所有过时的库。
添加Drive-SDK和OAuth2 API,这会自动将所有必需的库文件添加到WEB-INF / lib。
现在你的图书馆是一致的,你很高兴去!