我将现有应用程序升级到 appengine-web.xml 中的 java8 运行时,并使用最新的Java JDK 重新编译它 . 我也升级到最新 GAE SDK (1.9.54).

没有编译问题,但是当我部署它时,它仍然停留在"Verifying availability: Will check again in 60 seconds. Will check again in 60 seconds." ... Cloud 控制台上的日志大约是 MemcacheNoSuchMethod (com.google.appengine.tools.appstats.StatsProtos):

com.google.apphosting.runtime.jetty9.JettyLogger警告:/_ah/spi/BackendService.getApiConfigs(JettyLogger.java:29)的错误java.lang.NoSuchMethodError:com.google.appengine.tools.appstats.StatsProtos $ RequestStatProto .getDescriptor()LCOM /谷歌/应用服务引擎/重新打包/ COM /谷歌/ protobuf的/描述符$描述符; com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java:264)com.google.appengine.tools.appstats.MemcacheWriter.commit(MemcacheWriter.java:189)com.google.appengine.tools上的com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java:264) .appstats.Recording.commit(Recording.java:77)在com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:154)org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler) .java:1759)在com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)的org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759)at com . go.com.apphosting.runtime.jetty9.SaveSessionFilter.doFilter(SaveSessionFilter.java:37)位于com.google.apphosting.utils.servlet的org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759) . org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(Servlet)中的JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) Handler.java:1759)位于org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759)的com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:48)atg位于org.eclipse.jetty.security.SecurityHandler.handle的org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)的.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) (SecurityHandler.java:524)org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)位于org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)at at org.eclipse.jetty.doScope(SessionHandler.java:185)org.eclipse.jetty.server.handler上的org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) . Context.and.Ev.Dar上的org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)中的ContextHandler.doScope(ContextHandler.java:1112)位于com.google.apphosting.runtime.jetty9.AppVers在org.eclipse.jetty.server.handle(Server.java:534)的org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)的ionHandlerMap.handle(AppVersionHandlerMap.java:297)位于com.google.apphosting.runtime.jetty9的com.google.apphosting.runtime.jetty9.RpcConnection.handle(RpcConnection.java:219)上的org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)位于com.google.apphosting.runtime.javaRuntime $ requestRunnable.dispatchServletRequest(JavaRuntime.java)的com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:108)上的.RpcConnector.serviceRequest(RpcConnector.java:81) :657)com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.dispatchRequest(JavaRuntime.java:619)com.google上的com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.run(JavaRuntime.java:589) . 在com.google.apphosting.runtime.ThreadGroupPool上的apphosting.runtime.JavaRuntime $ NullSandboxRequestRunnable.run(JavaRuntime.java:783)$ PoolEn try.run(ThreadGroupPool.java:263)at java.lang.Thread.run(Thread.java:745)/_ah/spi/BackendService.getApiConfigs java.lang.NoSuchMethodError:com.google.appengine.tools.appstats的错误.StatsProtos $ RequestStatProto.getDescriptor()LCOM /谷歌/应用服务引擎/重新打包/ COM /谷歌/ protobuf的/描述符$描述符; com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java:264)com.google.appengine.tools.appstats.MemcacheWriter.commit(MemcacheWriter.java:189)com.google.appengine.tools上的com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java:264) .appstats.Recording.commit(Recording.java:77)在com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:154)org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler) .java:1759)atcom.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)位于com.google.apphosting.runtime的org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759) . 在com.google.apphosting.utils.servlet.JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter)的org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759)上的jetty9.SaveSessionFilter.doFilter(SaveSessionFilter.java:37) . 在org.eclipse的com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:48)的org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759)中的java:60)位于org.eclipse.jetty.server.hand.hand.ScopedHandler.handle的org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)的.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759) (ScopedHandler.java:143)org.eclipse.jetty.security.SecurityHandler.handle(S ecurityHandler.java:524)org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)at org位于org.eclipse.jetty.server.handler.ContextHandler的org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)的.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) .doScope(ContextHandler.java:1112)位于com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.handle的org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)(AppVersionHandlerMap.java:297 )org.eclipse.jetty上的org.eclipse.jetty.server.handle(Server.java:534)的org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) . HttpChannel.handle(HttpChannel.java:320)at com.google.apphosting.runtime.jetty9.RpcConnection.handle(RpcConnection.java:219)at com.google.apphosting.runtime.jetty9.RpcConnector.serviceRequest(RpcConnector.j) ava:81)com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:108)com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.dispatchServletRequest(JavaRuntime.java:657)com.google com.google.apphosting.runtime.JavaRuntime $ RequestSunbox.JavaRuntime $ RequestSunbox.Rava .run(JavaRuntime.java:783)位于com.google.apphosting.runtime.ThreadGroupPool $ PoolEntry.run(ThreadGroupPool.java:263),位于java.lang.Thread.run(Thread.java:745)来自servlet java的未捕获异常.lang.NoSuchMethodError:com.google.appengine.tools.appstats.StatsProtos $ RequestStatProto.getDescriptor()Lcom / google / appengine / repackaged / com / google / protobuf / Descriptors $ Descriptor; com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java:264)com.google.appengine.tools.appstats.MemcacheWriter.commit(MemcacheWriter.java:189)com.google.appengine.tools上的com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java:264) .appstats.Recording.commit(Recording.java:77)在com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:154)org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler) .java:1759)在com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)的org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759)at com . go.com.apphosting.runtime.jetty9.SaveSessionFilter.doFilter(SaveSessionFilter.java:37)位于com.google.apphosting.utils.servlet的org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759) . org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(Servlet)中的JdbcMySqlConnectionCleanupFilter.doFilter(JdbcMySqlConnectionCleanupFilter.java:60) Handler.java:1759)位于org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1759)的com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:48)atg位于org.eclipse.jetty.security.SecurityHandler.handle的org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)的.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) (SecurityHandler.java:524)org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)位于org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)at atorg.eclipse.jetty.doScope(SessionHandler.java:185)org.eclipse.jetty.server.handler上的org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) . ContextHandler.doScope(ContextHandler.java:1112)位于com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.handle的org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)(AppVersionHandlerMap.java: 297)org.eclipse.jetty.handle(HandlerWrapper.handle)上的org.eclipse.jetty.server.handle.HandlerWrapper.handle(HandlerWrapper.java:134)org.eclipse.jetty . 服务器上的org.eclipse.jetty.server.handle(Server.java:534) .httpChannel.handle(HttpChannel.java:320)com.google.apphosting.runtime.jetty9.RpcConnection.handle(RpcConnection.java:219)com.google.apphosting.runtime.jetty9.RpcConnector.serviceRequest(RpcConnector.java) :81)com.google.apphosting.runtime.jet.JatyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:108)com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.dispatchServl etRequest(JavaRuntime.java:657)位于com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.dispatchRequest(JavaRuntime.java:619)com.google.apphosting.runtime.JavaRuntime $ RequestRunnable.run(JavaRuntime.java:589) com.google.apphosting.runtime.JavaRuntime $ NullSandboxRequestRunnable.run(JavaRuntime.java:783)at com.google.apphosting.runtime.ThreadGroupPool $ PoolEntry.run(ThreadGroupPool.java:263)at java.lang.Thread.run (Thread.java:745)