gpt4 book ai didi

google-app-engine - App Engine 1.8.2 不支持主要版本 51.0

转载 作者:行者123 更新时间:2023-12-02 21:16:01 24 4
gpt4 key购买 nike

我在 Google App Engine 日志中收到不受支持的主次版本 51.0。我知道 Stackoverflow 上有很多关于此问题的帖子,但这些帖子大多来自 2012 年,当时 App Engine 仍在 JRE 6 上。现在 App Engine 的版本为 1.8.2,在 JRE 7 上运行。我使用 Maven 和 IntelliJ开发我的应用程序,并将两者的目标 JDK 设置为 1.7(实际上 IntelliJ 只是采用 Maven 设置)。我的本地 Java 环境(在 Mac OSX 10.7.5 上)显示:

java版本“1.7.0_21”Java(TM) SE 运行时环境(版本 1.7.0_21-b12)Java HotSpot(TM) 64 位服务器 VM(内部版本 23.21-b01,混合模式)

因此,据我所知,我的应用程序是使用 JRE 7 构建的,App Engine 在 JRE 7 上运行。我不明白的是为什么实时 App Engine 仍然提示不受支持的版本 51.0,我理解代表 JRE 7?我无法降级到 JRE 6,因为 (1) 我们正在使用需要 JRE 7 的特定 Hibernate 功能,并且 (2) App Engine 可能会停止对 JRE 6 的支持。

有人也有这样的经历吗?您可以在下面找到发生这种情况时的实际 App Engine 错误日志。

谢谢!

拉尔夫

=====servlet 中未捕获的异常java.lang.UnsupportedClassVersionError:com/arcus/pba/server/guice/MyGuiceServletContextListener:不支持的major.minor版本51.0 在 com.google.appengine.runtime.Request.process-4a9c14a818a2f9f2(Request.java) 在 java.lang.ClassLoader.defineClass1( native 方法) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:634) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 在 sun.reflect.NativeMethodAccessorImpl.invoke0( native 方法) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:266) 在 org.mortbay.jetty.handler.ContextHandler.loadClass(ContextHandler.java:1101) 在 org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:630) 在 org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:368) 在 org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:289) 在 org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:222) 在 org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:180) 在 org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1247) 在 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:483) 在 com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:490) 在com.google.tracing.TraceContext.runInContext(TraceContext.java:777) 在 com.google.tracing.TraceContext$DoInTraceContext.runInContext(TraceContext.java:754) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:345) 在 com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:337) 在 com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:487) 在 java.lang.Thread.run(Thread.java:679)

最佳答案

我已经遇到过几次这个问题,关键是找到哪个类被编译为错误的版本。它可能是例如依赖之一。您可以使用 Java API to find out the JDK version a class file is compiled for? 中的片段您可以针对应用程序使用的所有类文件运行它。这些是 webappdir/WEB-INF/classes 中的文件,您还需要从 webappdir/WEB-INF/lib 中解压所有 JAR 文件。

关于google-app-engine - App Engine 1.8.2 不支持主要版本 51.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17853376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com