2012-10-20 115 views
1

我有Google App Engine项目,我一直在努力。一切都很好,直到我更新了我的jdk7。现在,当我部署我的应用程序时,我得到了servlet java.lang.UnsupportedClassVersionError:不受支持的major.minor版本51.0异常。有一些研究表明,这种异常是由运行较老的jvm的较新的jdk编译的字节代码引起的。所以我寻找了最老版本的jdk,我可以找到jdk6u36,并使用它来部署我的项目,并且仍然有项目(做了一些其他尴尬的事情,看看到底是什么导致了问题,如删除我的所有类文件,测试它们一个通过一个和所有他们得到相同的问题)。请真的需要帮助解决这个问题。servlet java.lang.UnsupportedClassVersionError:不支持major.minor版本51.0

+0

可能的重复http://stackoverflow.com/questions/8139477/google-app-engine-and-java-version –

回答

1

Did some research that said this exception is cause by byte code compiled by a newer jdk running a older jvm.

这是正确的......

So I looked for the oldest version of the jdk I could find jdk6u36 and deployed my project using that and still have the project ...

嗯,显然是行不通的!您正在使用较新的JDK进行编译并在较早的JDK/JRE上进行部署。您需要在较旧的JDK上编译编译。这就是你的研究刚刚告诉你的...

+0

但是,当我下载了jdk6并将其添加到我的构建路径。我认为eclipse在将它部署到应用引擎时重新编译项目,不应该解决我的问题? –

0

你们是否说过我正在编译新的JDK,并部署在较旧的JRE上。因此,为了解决这个问题,我通过右键单击project-> properties-> java编译器,将项目的编译器更改为jdk 6。我还将JAVA_HOME环境变量更改为指向JDK6的位置,并解决了我的问题。非常感谢

相关问题