我安装了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版本。
答案 0 :(得分:71)
从命令行尝试sudo update-alternatives --config java
以设置要使用的JRE的版本。这应该解决它。
答案 1 :(得分:36)
将PATH设置的内容复制到记事本,并检查1.4.2的位置是否在7之前。如果是,请在PATH设置中删除1.4.2的路径并保存。
保存并应用“环境变量”后关闭并重新打开cmd行。在XP中,路径不会反映在已经运行的程序中。
答案 2 :(得分:10)
假设您使用的是Eclipse,您可以:
Eclipse.app
Eclipse -> Preferences
Java -> Installed JREs
Add...
按钮MacOS X VM
作为JRE类型。按“下一步”。/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
JDK 1.7
。单击“完成”。File -> New -> Java Project
。Use default JRE (currently JDK 1.7)
希望这有帮助
答案 3 :(得分:9)
我在Java 6旁边安装jdk7之后遇到了这个问题。使用update-alternatives --config java
到jdk7正确更新了二进制文件,但$JAVA_HOME
环境变量仍然指向Java 6的旧目录。 / p>
答案 4 :(得分:2)
听起来您需要更改java
可执行文件的路径以匹配最新版本。
基本上,安装最新的Java并不一定意味着您的机器配置为使用最新版本。你没有提到任何平台细节,所以我可以说。