2013-03-16 5 views
0

Почему я получаю эту ошибку, когда я пытаюсь получить доступ к «ресурс» в моем веб-службы:NoSuchMethodError: com.google.appengine.api.memcache.ErrorHandlers.getConsistentLogAndContinue

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 и объективизации v 4.0a4

Вот где брошено ошибка:

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

Похоже, что они несовместимы. Попробуйте открыть ErrorHandlers в вашей среде IDE и проверить доступные методы. Я предполагаю, что Objectify ожидает более новую версию GAE. – DanneJ

ответ

1

Похоже, есть шанс, что у вас есть какие-то старые SDK App Engine банки в вашем пути к классам. Проверьте свою папку 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 не является самым последним, и было бы разумно его обновить.