Установка OpenJDK на Linux
Используемые термины: Java, Linux.
В двух словах, OpenJDK — полностью совместимый Java (JDK), состоящий из открытого исходного кода. Его установка необходима на системах, где требуется работа с java, например, собрать и запустить приложение.
Рассмотрим процесс и варианты установки OpenJDK для разных операционных систем семейства Linux.
Ubuntu или Debian
Astra Linux
Rocky Linux или CentOS / Fedora
РЕД ОС
Тест после установки
Версия Java по умолчанию
Ubuntu / Debian
Установка выполняется из встроенного репозитория.
а) Самая свежая версия, доступная в репозитории может быть установлена 2-я командами:
apt update
apt install default-jdk
б) Для установки конкретной версии, подключаем репозиторий:
add-apt-repository ppa:linuxuprising/java
После можно установить OpenJDK:
apt install openjdk-17-jdk
* в данном примере будет установлена версия 17.
Astra Linux
Установка выполняется из встроенного репозитория.
apt update
apt install default-jdk
Rocky Linux / CentOS / Fedora
Установка выполняется из встроенного репозитория:
yum install java-17-openjdk
* где 17 — версия JDK. На текущий момент доступны три версии: 8, 11 и 17.
РЕД ОС
Установка выполняется из встроенного репозитория.
а) Самая свежая версия, доступная в репозитории:
yum install java-latest-openjdk
б) Конкретная версия:
yum install java-13-openjdk
* где 13 — версия JDK. На текущий момент доступны три версии: 11 и 13.
Проверка
После установки OpenJDK вводим команду:
java --version
Мы должны увидеть установленную версию, например:
openjdk 11.0.17 2022-10-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.17.0.8-2.el8_6) (build 11.0.17+8-LTS)
...
Версия по умолчанию
У нас в системе может быть установлено несколько версий. Чтобы выбрать ту, которая будет работать по умолчанию, вводим:
update-alternatives --config java
Если версия всего одна, мы увидим:
update-alternatives: error: no alternatives for java
Но если версий несколько, система предоставит возможность выбора:
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.x86_64/bin/java)
2 java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.x86_64/bin/java)
* в данном примере если мы выберем вариант 1, то будет использоваться java-11-openjdk, если 2 — java-17-openjdk.