0

Web サービスの「リソース」にアクセスしようとすると、なぜこのエラーが発生するのですか?

java.lang.NoSuchMethodError: com.google.appengine.api.memcache.ErrorHandlers.getConsistentLogAndContinue(Ljava/util/logging/Level;)Lcom/google/appengine/api/memcache/LogAndContinueErrorHandler;
    at com.googlecode.objectify.cache.EntityMemcache.<init>(EntityMemcache.java:178)
    at com.googlecode.objectify.ObjectifyFactory.<init>(ObjectifyFactory.java:69)
    at com.mycompany.mywebservice.core.daoimpl.OfyFactory.<init>(OfyFactory.java:41)
    at com.mycompany.mywebservice.core.daoimpl.OfyService.<clinit>(OfyService.java:14)
    at com.mycompany.mywebservice.rest.blob.serviceimpl.BlobServiceImpl.getBlobInfo(BlobServiceImpl.java:78)
    at com.mycompany.mywebservice.rest.blob.BlobController.getBlob(BlobController.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:115)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)

GAE バージョン 1.7.4 と Objectify v 4.0a4 を使用しています

エラーがスローされる場所は次のとおりです。

result = ofy().load().type(BlobInfo.class).filter("id", key).first().get();
4

1 に答える 1

1

クラスパスに古い App Engine SDK jar が含まれている可能性があります。WEB-INF/lib フォルダーを確認し、何らかの形でそこにある可能性のある古いアプリ エンジン バージョンをすべて消去します。

ここを見て:

http://code.google.com/p/googleappengine/source/browse/trunk/java/src/main/com/google/appengine/api/memcache/ErrorHandlers.java?r=284

SDK 1.6.4.1 以降に追加されたメソッドのように見えるので、それよりも古いものがぶらぶらしている可能性があります。

よくわかりませんが、あなたが使用している Objectify はその後のものだと思います。いずれにせよ、4.0a4 は最新のものではないため、更新することをお勧めします。

于 2013-03-16T12:23:45.870 に答える