Как установить Java на CentOS 8

Java — один из самых популярных языков программирования, используемых для создания различных типов приложений и систем.

Существует две различные реализации Java, OpenJDK и Oracle Java, между которыми почти нет различий, за исключением того, что Oracle Java имеет несколько дополнительных коммерческих функций. Лицензия Oracle Java разрешает только некоммерческое использование программного обеспечения, такое как личное использование и использование в целях разработки. OpenJDK — это реализация платформы Java с открытым исходным кодом.

Репозитории CentOS 8 по умолчанию включают две последние основные версии Java LTS, Java 8 и Java 11.

В этом руководстве мы объясним, как установить одну или несколько версий Java (OpenJDK) в CentOS 8 и как установить Java по умолчанию с помощью альтернатив.

Установка OpenJDK 11

Общая рекомендация — установить последнюю версию Java LTS (JDK 11). Для некоторых приложений на основе Java может потребоваться определенная версия Java, поэтому вам может потребоваться обратиться к документации приложения.

Чтобы установить OpenJDK 11 в CentOS 8, выполните следующую команду от имени пользователя root или пользователя с привилегиями sudo :

sudo dnf install java-11-openjdk-devel

После завершения установки вы можете проверить это, проверив версию Java:

java -version

Результат должен выглядеть примерно так:

openjdk version "11.0.4" 2019-07-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)

Это оно! Вы успешно установили Java в свою систему CentOS 8.

CentOS 8 также поддерживает автономную версию OpenJDK, которая обеспечивает минимальную среду выполнения Java, необходимую для выполнения приложений без графического пользовательского интерфейса (без поддержки клавиатуры, мыши и систем отображения). Эта версия больше подходит для серверных приложений, поскольку имеет меньше зависимостей и использует меньше системных ресурсов.

Чтобы установить только безголовый OpenJDK 11, введите:

sudo dnf install java-11-openjdk-headless

Если вы уже установили java-11-openjdk-devel , пакет headless будет установлен как зависимость.

Установка OpenJDK 8

Java 8, предыдущая версия Java LTS, все еще поддерживается и широко используется. Если вашему приложению требуется Java 8, вы можете установить его, введя следующую команду:

sudo dnf install java-1.8.0-openjdk-devel

Проверьте установку, проверив версию Java:

java -version

Результат должен выглядеть примерно так:

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

Для минимальной среды выполнения Java установите пакет java-1.8.0-openjdk-headless .

Установка версии Java по умолчанию

Если вы установили несколько версий Java в своей системе CentOS, вы можете использовать альтернативную систему, чтобы указать, какая версия Java будет использоваться при java в терминал.

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

java -version

Если вы хотите изменить версию по умолчанию, используйте alternatives команду:

sudo alternatives --config java

Результат будет выглядеть примерно так:

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
   1           java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.4.11-0.el8_0.x86_64/bin/java)
*+ 2           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java)

Enter to keep the current selection[+], or type selection number: 

Список всех установленных версий Java будет распечатан на экране. Введите номер версии, которую вы хотите использовать по умолчанию, и нажмите Enter .

Вы также можете изменить версию javac по умолчанию:

sudo alternatives --config java

javac — это командная утилита для компиляции программ Java.

Установка переменной среды JAVA_HOME

Переменная среды JAVA_HOME используется некоторыми приложениями Java для определения места установки Java и указания, какая версия Java должна использоваться для запуска приложения.

Чтобы установить переменную JAVA_HOME для каждого пользователя, добавьте ее в ~/.bashrc или любой другой файл конфигурации, который загружается при входе пользователя в систему. Для общесистемной настройки используйте сценарий внутри /etc/profile.d каталог.

Предполагая, что вы хотите установить JAVA_HOME в OpenJDK 8, добавьте следующую строку в конец файла:

/etc/profile.d/java.sh
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk"

Чтобы изменения вступили в силу в вашей текущей оболочке, вы можете либо выйти и войти в систему, либо использовать source команду:

source /etc/profile.d/java.sh

Убедитесь, что переменная среды JAVA_HOME была правильно установлена:

echo $JAVA_HOME

В выводе должен быть указан путь к установке Java:

/usr/lib/jvm/java-1.8.0-openjdk

Вы также можете установить JAVA_HOME в конфигурации приложения, в файле модуля systemd или в командной строке при запуске программы.

Например, чтобы запустить Maven с использованием Java 8, введите:

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk mvn --version
...
Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre
...

Выводы

CentOS 8 поддерживает две основные версии Java, Java 8 и Java 11, которые можно установить с помощью диспетчера пакетов dnf .

Если у вас есть вопросы, не стесняйтесь оставлять комментарии.

Оставьте комментарий