获取java.lang.NoSuchFieldError:在GAE MemCache中使用ExperimentalRuntime
每当我尝试访问MemCache时,我都会得到一个获取java.lang.NoSuchFieldError:在GAE MemCache中使用ExperimentalRuntime,java,google-app-engine,google-cloud-datastore,Java,Google App Engine,Google Cloud Datastore,每当我尝试访问MemCache时,我都会得到一个java.lang.NoSuchFieldError:usingExperimentalRuntime。我找不到关于这个领域的文档。是否有一些我不知道的配置选项 以下是源代码: MemcacheService syncCache = MemcacheServiceFactory.getMemcacheService(); syncCache.setErrorHandler(ErrorHandlers.getConsistentLogAndConti
java.lang.NoSuchFieldError:usingExperimentalRuntime
。我找不到关于这个领域的文档。是否有一些我不知道的配置选项
以下是源代码:
MemcacheService syncCache = MemcacheServiceFactory.getMemcacheService();
syncCache.setErrorHandler(ErrorHandlers.getConsistentLogAndContinue(Level.ALL));
Object cacheObject = syncCache.get("arbitrary");
最后一行因此错误而崩溃(部分堆栈跟踪到我的代码):
让这件事如此奇怪的是,代码在上周运行,并使用MemCache完成了单元测试。现在他们失败了。当然,我尝试过撤销我所做的一切,但没有成功:
- 升级gcloud
- 降级gcloud
- 关闭所有其他服务器
- 重新启动机器
- 重置为上一个已知的良好代码版本
com.google.appengine
appengine maven插件
1.9.49
或者是AppEngine的等效Gradle插件(不是Cloud SDK之一)我昨天做了一个更新,在发布原始帖子之前,它只把AppEngine java升级到了1.9.48版。python版本是1.9.49,但我没有使用python。我在哪里可以获得java引擎的1.9.49版本?我将gradle设置为在测试和开发服务器上都使用1.9.48,并且一切正常。谢谢在dev设置为使用最新版本(gradle中的“+”版本)和test设置为使用1.9.46之前。将两者都设置为1.9.49对开发服务器不起作用。不过,最新的稳定版本仍然有效。
Caused by: java.lang.NoSuchFieldError: usingExperimentalRuntime
at com.google.appengine.api.memcache.MemcacheServicePb$MemcacheGetRequest.writeTo(MemcacheServicePb.java:1511)
at com.google.appengine.repackaged.com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:41)
at com.google.appengine.api.memcache.MemcacheServiceApiHelper.makeAsyncCall(MemcacheServiceApiHelper.java:97)
at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.doGet(AsyncMemcacheServiceImpl.java:405)
at com.google.appengine.api.memcache.AsyncMemcacheServiceImpl.getIdentifiable(AsyncMemcacheServiceImpl.java:422)
at com.google.appengine.api.memcache.MemcacheServiceImpl.getIdentifiable(MemcacheServiceImpl.java:54)
at com.myCode.CacheOrDbUtil.getUser(CacheOrDbUtil.java:27)
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>1.9.49</version>
</plugin>