Переключение версии Java по умолчанию в Debian
Если на компьютере с операционной системой Debian установлены несколько версий Java, то иногда бывает необходимо сменить, какая из них должна использоваться
по умолчанию (по дефолту). Для этого существует специальная утилита, которая входит в состав пакета java-common — update-java-alternatives. Этот пакет
скорее всего уже есть в системе, если установлена Java.
Получение списка путей установок различных версий
Прежде всего, при помощи утилиты update-java-alternatives можно получить список путей, по которым находятся файлы различных версий Java. Для этого необходимы права суперпользователя:
sudo update-java-alternatives --list
Примерный вывод при выполнении команды будет такой:
java-1.10.0-openjdk-amd64 1101 /usr/lib/jvm/java-1.10.0-openjdk-amd64
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Это очень полезная информация, так как знание пути, по которому находится нужная версия Java, необходимо для выполнения основного действия.
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Проверка версии, установленной по дефолту
Следующим подготовительным шагом будет определение, какая именно версия сейчас используется по умолчанию. Внимание, тут нет опечатки, дефис перед словом version всего один:
java -version
Примерный вывод в терминале после выполнения команды:
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment (build 11+17-Debian-2)
OpenJDK 64-Bit Server VM (build 11+17-Debian-2, mixed mode, sharing)
Видно, что дефолтной является версия 11. Особое внимание стоить обратить на дату релиза — сентябрь. Я пишу эти строки в июле.
OpenJDK Runtime Environment (build 11+17-Debian-2)
OpenJDK 64-Bit Server VM (build 11+17-Debian-2, mixed mode, sharing)
Установка версии по умолчанию
Почему это бывает нужно? В моём случае, сразу после установки у меня не запустилась среда разработки Arduino, которая написана на Java. Собственно, вместе с Arduino и установилась 11-ая версия Java. Я решил, что она ещё не доработана (у меня Debian Testing) и стоит попробовать предыдущую версию. Переключился с версии 11 на версию 10 следующей командой:
sudo update-java-alternatives --set /usr/lib/jvm/java-1.10.0-openjdk-amd64
После --set я указал путь до файлов установленной Java 10 версии. Этот путь я выяснил выше, используя команду --list. Теперь при определении версии Java
вывод в терминале стал таким:
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Debian-1)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Debian-1, mixed mode)
И с Arduino стало всё хорошо.
OpenJDK Runtime Environment (build 10.0.2+13-Debian-1)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Debian-1, mixed mode)
Обсуждение
Никто не оставлял здесь комментариев.
Войдите на сайт, чтобы присоединиться к обсуждению.