如何部署glass-java-starter

时间:2014-05-29 12:01:09

标签: java google-app-engine google-glass google-mirror-api

我已经构建了Glass Java启动项目并让它在本地运行,并且运行正常。我现在想将它部署到Google App Engine(因此能够使用appName.appspot.com访问它)但我仍然遇到与GAE日志中的“主要/次要版本”错误相关的问题。

我已经查看了我能找到的所有材料,并在项目中设置了所有内容(Eclipse使用Maven,从谷歌提供的github启动项目中下载),用于Java 7.我在Mac OS X Mavericks上运行Chrome还验证了我的机器上的Java控制面板显示我正在运行Java 8(应该没问题?)。

为什么我会收到此错误,如何更正?

76.241.53.119 - - [29/May/2014:04:39:03 -0700] "GET / HTTP/1.1" 500 0 - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36" "1-dot-top-of-mind.appspot.com" ms=3432 cpu_ms=1120 loading_request=1 instance=00c61b117c44830d108681e02a1009c3b00be4dc app_engine_release=1.9.5
   F 06:39:03.854 Uncaught exception from servlet
java.lang.UnsupportedClassVersionError: org/apache/jsp/index_jsp : Unsupported major.minor version 52.0
    at com.google.appengine.runtime.Request.process-20c8e6fa8e5dfca4(Request.java)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:795)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    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:606)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:360)
    at org.mortbay.util.Loader.loadClass(Loader.java:91)
    at org.mortbay.util.Loader.loadClass(Loader.java:71)
    at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444)
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:188)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441)
    at java.lang.Thread.run(Thread.java:724)

1 个答案:

答案 0 :(得分:1)

不幸的是,没有。这不好。

1.8下生成的字节码与1.7不兼容。因此,当您上传到GAE时,您生成的代码无效。

有关详情,请参阅Does JSP in Google AppEngine support JDK1.8

您可能至少需要为编译器指定-target 1.7。有关详细信息或您可能需要的其他选项,请参阅http://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html#BHCIJIEG