
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, необходимую для запуска приложений без графического интерфейса (без поддержки клавиатуры, мыши и дисплеев). Эта версия больше подходит для серверных приложений, поскольку имеет меньше зависимостей и потребляет меньше системных ресурсов.
Чтобы установить только headless 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 по умолчанию
Если в вашей системе CentOS установлено несколько версий Java, вы можете использовать систему альтернатив, чтобы указать, какая версия 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 .
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
java centos Не используете CentOS 8?
Выберите другую ОС: центос 7 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04 убунту 22.04
Связанные руководства