0

我在 c:/program files/java/ 中安装了 JRE 1.6 和 1.7(以及 JDK)

我首先安装了 1.7,然后也安装了 1.6。我使用 Eclipse 作为我的 IDE - 请注意我是 Java 新手。

当我想切换到 1.6 时,我转到“运行配置”(在 Eclipse 中)并选择替代 JRE,选择 1.6 并单击应用。但是当我尝试运行一个简单的 HelloWorld 程序时,我收到了这个警报:

找不到主类:HelloW。程序将会退出。

在控制台中我得到这些错误:

java.lang.UnsupportedClassVersionError: HelloW : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)

如果我切换回 JRE 1.7,一切都会再次运行。如何正确切换到 1.6 并让一切正常运行?

4

2 回答 2

3

你的HelloW类是为 1.7 编译的,所以它不会在 1.6 上运行。您必须使用旧版本重新编译代码。

在 Eclipse 中,您可以右键单击您的项目,然后转到“属性”,然后单击“Java 编译器”。检查启用项目特定设置,并像这样更改 JDK 合规性:

在此处输入图像描述

于 2013-10-11T13:53:07.843 回答
1

这里发生的错误是您已经在 java 1.7 中编译了该文件并试图在 java 1.7 中运行它。

我建议您将 JRE 更改为 1.6 后重新编译代码文件,即重建项目,然后运行项目。

根据 JRE 政策,如果我们在新版本上编译项目然后尝试在旧版本上运行它,它将不会运行并抛出主要/次要版本错误。因此请在 JRE 1.6 上重新编译,然后运行。

于 2013-10-11T13:47:21.843 回答