Установка OpenJDK на Linux


Используемые термины: Java, Linux.
В двух словах, OpenJDK — полностью совместимый Java (JDK), состоящий из открытого исходного кода. Его установка необходима на системах, где требуется работа с java, например, собрать и запустить приложение.
Рассмотрим процесс и варианты установки OpenJDK для разных операционных систем семейства Linux.
Ubuntu или Debian
Astra Linux
Rocky Linux или CentOS / Fedora
РЕД ОС
Сборка от Bellsoft
Тест после установки
Версия 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.
JDK или JRE от Bellsoft
Рассмотрим дополнительную сборку инструментов Java от Bellsoft. Это авторская сборка на основе OpenJDK, и она также распространяется бесплатно. Ее преимущество в универсальности установки на разные системы.
Переходим на страницу загрузки сайта Bellsoft. Выбираем версию:
* несмотря на то, что была версия 20, версия 17 является LTS, а значит, больше подходит для продуктивного развертывания.
Спускаемся ниже и выбираем нужную нам операционную систему, а также вариант сборки Java:
* на выбор есть следующие сборки:
- Standard JDK — все необходимое для компиляции и запуска java-приложений.
- Full JDK — полный набор инструментов и модулей для компиляции и запуска java-приложений.
- Lite JDK — минимальный набор для компиляции и запуска java-приложений.
- Standard JRE — все необходимое для запуска java-приложений.
- Full JRE — полный набор модулей для запуска java-приложений.
Справа копируем файл установки или готовый архив:
* в нашем примере мы выбрали Deb-пакет, который может быть установлен на системы типа Debian.
Скачать пакет по скопированной ссылке можно командой wget, например:
wget https://download.bell-sw.com/java/17.0.7+7/bellsoft-jdk17.0.7+7-linux-amd64.deb
В зависимости от типа Linux, команды для установки скачанного установщика будут немного, различаться.
а) в системах на базе Deb:
dpkg -i bellsoft-*-linux-amd64*.deb
б) в системах на базе RPM:
yum localinstall ./bellsoft-*-linux-amd64*.rpm
Проверка
После установки 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.