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

Exception in thread “main” java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 51.0)

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
unsupported major .minor version 51.0

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

1
2
3
4
5
6
7
8
9
10
11
12
13
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)

我在命令提示符下检查了EDCOX1 0,它显示了Java版本1.4.2y03,但是当我尝试从JavaWeb安装新的Java版本时,它表示我已经推荐了Java 7版本。


从命令行中尝试sudo update-alternatives --config java来设置要使用的JRE版本。这应该能解决问题。


将路径设置的内容复制到记事本上,并检查1.4.2的位置是否在7的位置之前。如果是,请在路径设置中删除到1.4.2的路径并保存它。

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


在安装Java 6旁边的JDK7之后,我遇到了这个问题。使用EDCOX1(11)对JDK7进行二进制文件的正确更新,但是EDCOX1×12环境变量仍然指向Java 6的旧目录。


假设您正在使用Eclipse,在Mac上您可以:

  • 发射Eclipse.app
  • 选择Eclipse -> Preferences
  • 选择Java -> Installed JREs
  • 点击Add...按钮
  • 选择MacOS X VM作为JRE类型。按下一步。
  • 在"JRE HOME:"字段中,键入/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
  • 您应该在标题为"JRE系统库:"的列表中看到系统库。
  • 为JRE命名。推荐名称为JDK 1.7。单击"完成"。
  • 选中刚才创建的JRE条目旁边的复选框。这将导致Eclipse使用它作为所有新Java项目的默认JRE。单击确定。
  • 现在,创建一个新项目。对于此验证,从菜单中选择File -> New -> Java Project
  • 在出现的对话框中,输入项目的新名称。对于此验证,键入test17 project
  • 在对话框的jre部分,选择Use default JRE (currently JDK 1.7)
  • 单击"完成"。
  • 希望这有帮助


    听起来您需要更改到java可执行文件的路径以匹配最新版本。基本上,安装最新的Java并不一定意味着您的机器被配置为使用最新版本。你没有提到任何平台细节,所以我只能这么说。