我已经在我的计算机上安装了java 1.7(Ubuntu 12.04),并且Java_Home和路径设置正确。现在我也想安装java 1.6,因为我想要使用的一个应用程序只运行java1.6。
这是我到目前为止所做的,
1:我下载jdk1.6并将其解压缩
2:修改了java_home和包含的路径以指向jdk 1.6
3:执行这些更新替代命令
sudo update-alternatives --set java /usr/local/java/jdk1.6.0_45/bin/java
sudo update-alternatives --set javac /usr/local/java/jdk1.6.0_20/bin/javac
现在当我做java -version时,我看到正确的版本,我也可以正确编译但我做java className我得到以下错误
Exception in thread "main" java.lang.UnsupportedClassVersionError: three : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
我的路径变量看起来像这样
/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/java/jdk1.7.0_40/bin:/usr/local/java/jre1.7.0_40/bin:/usr/local/java/jdk1.6.0_45/bin:/usr/local/java/jdk1.6.0_45/bin
我在某处读到如果java 1.7在路径中的1.6之前出现,则会发生冲突。可能是这样吗?在那种情况下,如何从路径变量中删除它?
答案 0 :(得分:1)
你的路径中有jdk 1.6和1.7,从路径中移除旧版本