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

时间:2011-08-30 00:31:27

标签: java exception java-7 unsupported-class-version

  

可能重复:
  unsupported major .minor version 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 -version,它显示了Java版本1.4.2_03,但是当我尝试从java.com安装新的java版本时,它说我推荐了Java 7版本。

5 个答案:

答案 0 :(得分:71)

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

答案 1 :(得分:36)

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

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

答案 2 :(得分:10)

假设您使用的是Eclipse,您可以:

  1. 启动Eclipse.app
  2. 选择Eclipse -> Preferences
  3. 选择Java -> Installed JREs
  4. 点击Add...按钮
  5. 选择MacOS X VM作为JRE类型。按“下一步”。
  6. 在“JRE Home:”字段中,键入/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
  7. 您应该在标题为“JRE系统库:”
  8. 的列表中看到系统库
  9. 为JRE命名。建议的名称为JDK 1.7。单击“完成”。
  10. 选中刚刚创建的JRE条目旁边的复选框。这将导致Eclipse将其用作所有新Java项目的默认JRE。单击“确定”。
  11. 现在,创建一个新项目。要进行此验证,请从菜单中选择File -> New -> Java Project
  12. 在出现的对话框中,输入项目的新名称。对于此验证,请键入Test17Project
  13. 在对话框的JRE部分中,选择Use default JRE (currently JDK 1.7)
  14. 单击“完成”。
  15. 希望这有帮助

答案 3 :(得分:9)

我在Java 6旁边安装jdk7之后遇到了这个问题。使用update-alternatives --config java到jdk7正确更新了二进制文件,但$JAVA_HOME环境变量仍然指向Java 6的旧目录。 / p>

答案 4 :(得分:2)

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