jdk-12.0.1 установлен, но команда java --version показывает openjdk-11.0.3

Я хотел запустить свой app.jar через терминал с помощью команды java -jar, и я получил следующую ошибку:

Main был скомпилирован более поздней версией Java Runtime ( версия файла класса 56.0), эта версия Java Runtime распознает только версии файла класса до 55.0

, что меня удивило, потому что когда я все настраивал, я скачал и установил jdk-12.0.1 из java.sun.com. Кроме того, путь JAVA_HOME в /etc/environment установлен в каталог /usr/lib/jvm/openjdk-12.0.1. Но когда я запускаю java --version, он показывает мне:

openjdk 11.0.3 2019-04-16
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing)

Может кто-нибудь объяснить, почему это так и что я должен сделать, чтобы все правильно настроить?

0
задан 12 July 2019 в 03:13

1 ответ

Ваш Java системного уровня все еще настроен как OpenJDK 11. Для управления несколькими установками Java правильно необходимо зарегистрировать JDK Oracle / Открытый JDK 12, который Вы вручную загрузили так, чтобы Ubuntu могла распознать его. После этого можно настроить определенную версию Java, которую Вы хотите использовать update-alternatives. Команды ниже зарегистрируют новую установку Java и установят ее как первоочередную задачу:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/openjdk-12.0.1/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/openjdk-12.0.1/bin/javac" 1

Если бы Вам только нужна единственная установка Java, было бы легче установить последний Java как системный пакет через официальные репозитории или ppa:

OpenJDK 12:

sudo apt install openjdk-12-jdk

Oracle JDK 12:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt install oracle-java12-installer
1
ответ дан 24 October 2019 в 00:08

Другие вопросы по тегам:

Похожие вопросы: