我安装了 java 1.7,正在尝试安装 java 1.6。
我已经更新了 java_home 和指向新位置的路径变量,还运行了这些命令。
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_45/bin/javac
我的 java -version 显示 java 1.6 但是当我运行 java class_name 时,出现以下错误
Exception in thread "main" java.lang.UnsupportedClassVersionError: three : Unsupported major.minor version 51.0
当我运行命令 sudo update-alternatives --config java 时
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/local/java/jdk1.6.0_45/ 1 manual mode
* 3 /usr/local/java/jdk1.6.0_45/bin/java 1 manual mode
4 /usr/local/java/jre1.7.0_40/bin/java 1 manual mode
谁能告诉我我错过了什么?
答案1
您需要 Java 7 才能运行版本 51.0 的类文件,因此您需要重新编译该类或升级到 Java 7。
Java 在 /etc/alternatives 中有很多链接,但是update-java-alternatives
java-common 包中有一个名为 java-common 的工具,可以更轻松地维护它们。这样您就不会最终使用一个版本的 javac 和另一个版本的 java。