【问题标题】:Error when viewing Google App Engine application after deployment部署后查看 Google App Engine 应用程序时出错
【发布时间】:2012-05-13 07:30:15
【问题描述】:

我使用 Eclipse 完成了 Google App Engine 教程来创建留言簿。在 Eclipse 环境中的本地机器上一切正常。我成功地将应用程序部署到 Google App Engine。 当我访问 URL (http://dcsnetlink-guestbook.appspot.com/) 以查看我的应用程序时,我收到以下错误。

错误:服务器错误 服务器遇到错误,无法完成您的请求。 如果问题仍然存在,请报告您的问题并提及此错误消息和导致它的查询

我在网络上进行了一些研究来解决这个问题,但到目前为止还没有成功。 请帮忙。

这是与此相关的 Google App Engine 日志中的内容。

Guestbook 的 Google App Engine 日志条目 - 2012 年 5 月 5 日

‹ 上一页 20 1-19 下一页 20 › (顶部:0:00:09 前) 2012-05-05 17:05:14.891 /favicon.ico 304 10ms 0kb 97.90.234.201 - - [05/May/2012:17:05:14 -0700] "GET /favicon.ico HTTP/1.1" 304 0 - - "dcsnetlink-guestbook.appspot.com" ms=10 cpu_ms=0 api_cpu_ms =0 cpm_usd=0.000045 2012-05-05 17:05:14.726 / 500 3096ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19 97.90.234.201 - - [05/May/2012:17:05:14 -0700] "GET / HTTP/1.1" 500 0 - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.168 Safari/535.19" "dcsnetlink-guestbook.appspot.com" ms=3096 cpu_ms=1419 api_cpu_ms=0 cpm_usd=0.039468 loading_request=1 instance=00c61b117cd052a13542bd8aeb337bc0ae68268e 2012-05-05 17:05:14.643 上下文com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@1a3b359{/,/base/data/home/apps/s~dcsnetlink-guestbook/1.358537445667406021}启动失败 org.mortbay.util.MultiException [java.lang.UnsupportedClassVersionError:guestbook/GuestbookServlet:不支持major.minor 51.0版,java.lang.UnsupportedClassVersionError:guestbook/SignGuestbookServlet:不支持major.minor 51.0版] 在 org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:656) 在 org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 在 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 在 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 在 org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:202) 在 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:171) 在 com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123) 在 com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:446) 在 com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449) 在 com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455) 在 com.google.tracing.TraceContext.runInContext(TraceContext.java:695) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325) 在 com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453) 在 com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251) 在 java.lang.Thread.run(Thread.java:679) java.lang.UnsupportedClassVersionError:guestbook/GuestbookServlet:不支持的major.minor 51.0版 在 com.google.appengine.runtime.Request.process-2dd9d02a5e2a506c(Request.java) 在 java.lang.ClassLoader.defineClass1(本机方法) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:634) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 在 sun.reflect.GeneratedMethodAccessor5.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:266) 在 org.mortbay.util.Loader.loadClass(Loader.java:91) 在 org.mortbay.util.Loader.loadClass(Loader.java:71) 在 org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73) 在 org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) 在 org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 在 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 在 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 在 org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449) 在 com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455) 在 com.google.tracing.TraceContext.runInContext(TraceContext.java:695) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325) 在 com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453) 在 java.lang.Thread.run(Thread.java:679) java.lang.UnsupportedClassVersionError:guestbook/SignGuestbookServlet:不支持的major.minor 51.0版 在 com.google.appengine.runtime.Request.process-2dd9d02a5e2a506c(Request.java) 在 java.lang.ClassLoader.defineClass1(本机方法) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:634) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 在 sun.reflect.GeneratedMethodAccessor5.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:266) 在 org.mortbay.util.Loader.loadClass(Loader.java:91) 在 org.mortbay.util.Loader.loadClass(Loader.java:71) 在 org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73) 在 org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) 在 org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 在 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 在 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 在 org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 在 org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449) 在 com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455) 在 com.google.tracing.TraceContext.runInContext(TraceContext.java:695) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325) 在 com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453) 在 java.lang.Thread.run(Thread.java:679) C 2012-05-05 17:05:14.720 servlet 未捕获的异常 javax.servlet.UnavailableException:初始化失败。 在 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:211) 在 com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:171) 在 com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123) 在 com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:446) 在 com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:449) 在 com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:455) 在 com.google.tracing.TraceContext.runInContext(TraceContext.java:695) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:333) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:325) 在 com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:453) 在 com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251) 在 java.lang.Thread.run(Thread.java:679) 我 2012-05-05 17:05:14.725 此请求导致为您的应用程序启动一个新进程,从而导致您的应用程序代码首次加载。因此,与您的应用程序的典型请求相比,此请求可能需要更长的时间并使用更多的 CPU。

谢谢, 塞缪尔

【问题讨论】:

  • 您可以在仪表板上看到logs 中的任何内容吗?
  • 您在问题中提供的信息并不能帮助我们提出任何解决方案。例如。你是如何部署你的应用程序的?正如@PhilippReichart 所说,日志文件中有什么内容吗?
  • 我会检查日志文件。就部署而言,我使用 Google Plugin for Eclipse 进行了部署。谢谢!
  • 这是 Google App Engine 日志中的内容。

标签: java eclipse


【解决方案1】:

java.lang.UnsupportedClassVersionError: guestbook/GuestbookServlet : 不支持的major.minor 51.0版

如果您使用 JRE 1.7 (jre7) 编译 java 类,则会出现此原因

解决办法是:

  1. 将 JDK 降级到 JDK6
  2. 更改项目“编译器合规级别” 到 1.6。

【讨论】:

    【解决方案2】:

    如果您使用 Java 1.8,则必须使用 Java 1.7 重新编译。但是如果您有 *.jsp 文件,您还应该从系统中完全删除 Java 1.8。如果你使用 Mac,here 是你可以做到的。

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 2011-07-11
      • 2020-03-27
      • 2020-02-12
      • 2019-07-12
      • 2018-12-16
      • 1970-01-01
      相关资源
      最近更新 更多