
У меня установлена Java 1.7, и я пытаюсь установить Java 1.6.
Я обновил java_home и переменную path, указывающую на новое местоположение, а также выполнил эти команды.
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 показывает мне 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
Для запуска файлов классов версии 51.0 вам понадобится Java 7, поэтому вам нужно либо перекомпилировать класс, либо обновиться до Java 7.
У Java есть много ссылок в /etc/alternatives, но есть инструмент, который называется update-java-alternatives
в пакете java-common, который упрощает поддержку всех этих ссылок. Таким образом, вы не будете использовать одну версию javac и другую java.