【问题标题】:java.lang.UnsupportedClassVersionError: com/google/appengine/tools/development/agent/AppEngineDevAgent : Unsupported major.minor version 51.0 [duplicate]java.lang.UnsupportedClassVersionError:com/google/appengine/tools/development/agent/AppEngineDevAgent:不支持的major.minor 51.0版[重复]
【发布时间】:2013-10-07 09:16:18
【问题描述】:

当我尝试运行 gwt 项目时,出现以下错误

java.lang.UnsupportedClassVersionError: com/google/appengine/tools/development/agent/AppEngineDevAgent : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:280)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)

本机方法中的致命错误:-javaagent 处理失败 线程“main”中的异常

我的JRE系统库是jre6,我在Compiler compliance level选择了1.6,但是还是一样,怎么办?

【问题讨论】:

  • 你在哪里运行你的程序?在应用引擎上?本地?
  • @sᴜʀᴇsʜ ᴀᴛᴛᴀ 其实我不知道appengine和local有什么区别,但是我在我的电脑上运行了这个程序。

标签: java google-app-engine gwt


【解决方案1】:

AppEngine 需要 Java 7,并且最新版本编译时符合 Java 7 (-target 1.7),因此无法在 Java 6 VM 中加载类。这实际上是异常告诉你的。

【讨论】:

  • 最后我把我的JRE系统库改成jre7,并选择Compiler compliance level 1.6,它没有报错,所以我觉得很奇怪..
  • 因为 JDK 7 知道如何处理 for Java 7 编译的类,而您自己的代码的 compliance 与此无关(有人理论上可以获取您编译的类并使用为 Java 6 编译的某些版本的 AppEngine 类运行它们)
  • 是的,改成jre7,编译项目,然后运行..
【解决方案2】:

我相信这些是当前的版本号:

J2SE 7 = 51,  //Note this one

J2SE 6.0 = 50,

J2SE 5.0 = 49,

JDK 1.4 = 48,

JDK 1.3 = 47,

JDK 1.2 = 46,

JDK 1.1 = 45

51.0 似乎是 Java 7,这意味着在您使用 1.6 的情况下,您需要更新您的 java(jre 和编译器)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 2012-06-29
    相关资源
    最近更新 更多