【问题标题】:How to deploy glass-java-starter如何部署 glass-java-starter
【发布时间】:2014-05-29 12:01:08
【问题描述】:

我已经构建了 Glass Java 入门项目并让它在本地运行并且运行良好。我现在想将它部署到 Google App Engine(因此可以使用 appName.appspot.com 访问它),但我一直遇到与 GAE 日志中的“主要/次要版本”错误相关的问题。

我已经查看了我能找到的所有材料并设置了项目中的所有内容(Eclipse 使用 Maven,从 Google 提供的 github 启动项目下载)。我在 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)

【问题讨论】:

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


    【解决方案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

    【讨论】:

    • 是否可以在我的机器上同时加载 JDK 7 和 JDK 8?我想我可能更容易去获取 JDK 7 并安装它,只要这不会搞砸任何事情......
    • 更新:已修复:我最终完全删除了 JDK 8(尽管 Oracle 文档声称您可以安装多个,但我似乎无法弄清楚如何设置操作系统指向哪个到。我在 Oracle 文档中运行命令以使用 java_home 工具进行更改,但它没有“粘住”。一旦我关闭终端窗口然后返回,它就全部回到 1.8(这就是促使我卸载的原因8).
    猜你喜欢
    • 1970-01-01
    • 2023-01-31
    • 2014-06-10
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多