java - NoSuchMethodError : com. google.appengine.api.memcache.ErrorHandlers.getConstantLogAndContinue

标签 java google-app-engine objectify

当我尝试访问网络服务中的“资源”时,为什么会出现此错误:

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();

最佳答案

看起来您的类路径中可能有一些旧的 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 都不是最新的,更新它是明智的。

关于java - NoSuchMethodError : com. google.appengine.api.memcache.ErrorHandlers.getConstantLogAndContinue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15446524/

相关文章:

java - Google App Engine JPA + 对象化

java - 在 Android Studio 上使用 Android 和 Google App Engine

java - JSF 2 : How build components correctly?

java - Servlet打不开txt

node.js - GCloud App Engine Node js 应用程序在第一个请求时返回 404,但后续请求成功

google-app-engine - 使用 AppEngine 反向 URL 映射

java - Objectify List<Ref<T>> 未由 Google App Engine 端点序列化

java - 分层(多级)多线程

java - 数组中的数组?

python - 简单的 Python 导入出现语法错误