线程“main” java.lang.UnsupportedClassVersionError 中的异常:a(不受支持的 major.minor 版本 51.0)

可能的重复:
不支持的主要 .minor 版本 51.0

我安装了JDK7,一个简单的hello word程序被编译,但是当我运行这个程序时,我得到了以下异常。

Exception in thread "main" java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 51.0)
    at java.lang.ClassLoader.defineClass0(Native Method)
    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$100(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)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)

我在命令提示符下检查了一下,它显示了Java版本1.4.2_03,但是当我尝试从 java.com 安装新的java版本时,它说我推荐了Java 7版本。java -version


答案 1

尝试从命令行设置要使用的 JRE 版本。这应该可以解决它。sudo update-alternatives --config java


答案 2

将 PATH 设置的内容复制到记事本,并检查 1.4.2 的位置是否早于 7 的位置。如果是这样,请在 PATH 设置中删除指向 1.4.2 的路径并保存。

保存并应用“环境变量”后,关闭并重新打开cmd行。在XP中,路径不会反映在已经运行的程序中。