Устанавливаем Java 11 на CentOS Stream

На модерации Отложенный

В пошаговой инструкции разберем, как поставить Java 8 и Java 11 на CentOS Stream и переключаться между версиями. Рекомендую выполнять работы на хостинге PQ.Hosting

Устанавливаем Java 11 с использованием среды разработки OpenJDK 11 (дефолтная)

Перед тем, как запускать установку, необходимо посмотреть список доступных для инсталла пакетов OpenJDK. Чтобы сделать, используем dnf. Команда:

$ sudo dnf search openjdk

В результате в терминале появляется список пакетов, предоставляемых средой разработки.

В нем находим нужный. Пакеты для инсталла Java 11 содержат соответствующее указание в названии (обратите внимание на слова, выделенные фиолетовым цветом):

Чтобы запустить диспетчер пакетов, используем команду:

$ sudo dnf install java-11-openjdk

Запускается установка Java 11. Процесс может занимать время (зависит от количества пакетов и других параметров). Когда установка завершена, в терминале появляется список зависимостей, доступных для использования.

Для проверки версии Java, которую накатили, нужно ввести в терминал команду:

$ java -version

Установка Java 8 с использованием среды разработки OpenJDK 8

Репозиторий CentOS содержит пакеты Java 8 (как и в случае с Java 11, версия фигурирует в названии: пользователь видит java-1.8.0-openjdk).

Пошаговая инструкция для инсталла Java 8 подразумевает ту же команду, что и в случае с Java 8. В терминале указывают:

$ sudo dnf install java-1.8.0-openjdk

Дальше пользователь видит листинг зависимостей для работы.

Проверка версии осуществляется командой:

$ java -version

Как настроить выбор дефолтной версии Java

Когда у вас установлены Java 8 и Java 11, встает вопрос о том, какая из них будет использоваться по умолчанию.

Для настройки используем команду:

$ sudo alternatives --config java

Затем выбирают необходимый вариант из списка:

 Selection    Command

-----------------------------------------------

   1           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.10.0.9-4.el8.x86_64/bin/java)

*+ 2           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-4.el8.x86_64/jre/bin/java)

Для проверки версии используем команду:

$ java -version

Как установить переменные окружения 

Приложения Java работают с разными переменными окружения, чтобы определять расположение той или иной версии. Чтобы настроить переменные окружения, необходимо создать в директории /etc/profile.d/ файл java.sh. Для этого используем команды:

$ cd /etc/profile.d – переход в нужную директорию; 

$ sudo vi java.sh – создание файла java.sh

В файл java.sh необходимо вставить строку, которая соответствует размещению версии Java 8 или Java 11. Команду для того, чтобы увидеть конфиги, указывали выше (это $ sudo alternatives --config java)

Для работы используют:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.10.0.9-4.el8.x86_64/

Вариант – добавление в файл .bashrc переменной среды. Файл .bashrc  находится в домашней директории. Чтобы получить доступ используют команды:

$ cd ~

$ sudo echo "JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.10.0.9-4.el8.x86_64/" >> .bashrc

Часто нужно проверить информацию о переменной (куда она проинсталлена). Чтобы сделать это, нужно будет выйти из системы, войти в нее и прописать в терминале:

$ echo $JAVA_HOME

На экране появляется короткая инструкция, из которой как раз и можно увидеть значение той переменной, которую запрашиваете:

Вывод 

В пошаговой инструкции разобрались, как установить Java 8 или Java 11 на ОС CentOS (по аналогии можно работать и с другими).