可能重复:不支持的主要.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 -version
,它显示了Java版本1.4.2_03,但是当我尝试从java.com安装新的java版本时,它说我推荐了Java 7版本 .
5 回答
将PATH设置的内容复制到记事本,并检查1.4.2的位置是否在7之前 . 如果是,请在PATH设置中删除1.4.2的路径并保存 .
保存并应用“环境变量”后关闭并重新打开cmd行 . 在XP中,路径不会反映在已经运行的程序中 .
从命令行尝试
sudo update-alternatives --config java
以设置要使用的JRE的版本 . 这应该解决它 .假设您使用的是Eclipse,您可以:
启动
Eclipse.app
选择
Eclipse -> Preferences
选择
Java -> Installed JREs
单击
Add...
按钮选择
MacOS X VM
作为JRE类型 . 按Next .在"JRE Home:"字段中,键入
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
您应该在 Headers 为"JRE system libraries:"的列表中看到系统库
为JRE命名 . 建议名称为
JDK 1.7
. 单击完成 .选中刚刚创建的JRE条目旁边的复选框 . 这将导致Eclipse将其用作所有新Java项目的默认JRE . 单击确定 .
现在,创建一个新项目 . 对于此验证,请从菜单中选择
File -> New -> Java Project
.在出现的对话框中,输入项目的新名称 . 对于此验证,请键入Test17Project
在对话框的JRE部分中,选择
Use default JRE (currently JDK 1.7)
单击“完成” .
希望这可以帮助
在Java 6旁边安装jdk7之后我遇到了这个问题 . 使用
update-alternatives --config java
到jdk7正确更新了二进制文件,但$JAVA_HOME
环境变量仍然指向Java 6的旧目录 .听起来你需要更改
java
可执行文件的路径以匹配最新版本 . 基本上,安装最新的Java并不一定意味着您的机器配置为使用最新版本 . 我没有说完所有的话 .