2

Google ドライブのサンプルを実行しようとすると、以下で説明するエラーが常に表示されます。構成を確認しましたが、正しいようです。appengine Eclipse プラグインの最新リリースが使用されています。スローされたエラーは、メソッド : com.google.api.client.http.HttpRequestFactory.buildRequest が実行時に利用できないかのように見えます。これは非推奨の方法ですが、コンパイル時にエラーは発生しません。誰も同じ状況に遭遇しましたか?

012-12-16 08:52:01.050 サーブレットからのキャッチされない例外

    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;
    com.google.api.client.googleapis.services.AbstractGoogleClientRequest.buildHttpRequest(AbstractGoogleClientRequest.java:290) で
    com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed (AbstractGoogleClientRequest.java:396) で
    com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed (AbstractGoogleClientRequest.java:328) で
    com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute (AbstractGoogleClientRequest.java:449) で
    it.contextsolutions.drived.CredentialMediator.getUserInfo (CredentialMediator.java:211) で
    it.contextsolutions.drived.CredentialMediator.getActiveCredential(CredentialMediator.java:312) で
    it.contextsolutions.drived.DrEditServlet.getCredentialMediator(DrEditServlet.java:98) で
    it.contextsolutions.drived.DrEditServlet.getClientId(DrEditServlet.java:143) で
    it.contextsolutions.drived.StartPageServlet.doGet(StartPageServlet.java:46) で
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617) で     
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) で     
    org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:511) で
    org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) で
    "
4

2 に答える 2

1

問題は実際には、drEdit サンプルにはまだ GAE 1.6.3 バージョンのライブラリがあり、新しいバージョンから GAE API (および drive/oauth2 api) を追加したことです。

プロジェクトのソースを web/WEB-INF/lib で確認するだけです。同じ jar の複製が多数ありますが、バージョンは異なります。

  • appengine-api-xxx-1.6.3 (drEdit ソースから取得) および appengine-api-xxx-1.7.4 (Eclipse の Google プラグインによって追加)
  • google-api-client-xxx-1.10.3-beta.jar (drEdit ソースから取得) および google-api-client-xxx-1.12.0-beta (Eclipse プラグインによって追加)
  • google-api-services-xxx-1.7.2-beta (drEdit ソースから取得) および google-api-services-xxx-1.12.0-beta (Eclipse プラグインによって追加)。

古いバージョンのjarを削除して、web/WEB-INF/libフォルダーを単純にきれいにします-私の場合、それは役に立ちました。

于 2013-02-10T19:28:28.570 に答える