1

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

4

2 回答 2

1

是否有一些研究表明此异常是由运行较旧 jvm 的较新 jdk 编译的字节码引起的。

没错……

所以我寻找了我能找到 jdk6u36 的最旧版本的 jdk 并使用它部署了我的项目并且仍然有项目......

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

于 2012-10-20T07:52:30.753 回答
0

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

于 2012-10-20T16:18:58.583 回答