Гид по технологиям

Установка Java на CentOS 8 — OpenJDK 8, OpenJDK 11 и Oracle JDK 8

4 min read Linux Обновлено 17 Oct 2025
Установка Java на CentOS 8 — OpenJDK и Oracle
Установка Java на CentOS 8 — OpenJDK и Oracle

Иллюстрация Java на сервере CentOS 8

Кому это полезно

  • Системным администраторам и инженерам DevOps, которым нужно готовое окружение Java на CentOS 8.
  • Разработчикам, которым требуется конкретная версия JDK для запуска приложений.
  • Тем, кто переключает версии Java между OpenJDK и Oracle JDK.

Краткий обзор версий

  • OpenJDK — открытая реализация Java Platform. Доступна в репозиториях CentOS 8.
  • Oracle JDK — коммерческая реализация от Oracle, может содержать дополнительные проприетарные компоненты. Требует скачивания с сайта Oracle.

Важно: OpenJDK и Oracle JDK совместимы на уровне языка и большинства библиотек, но поведение JVM и наличие коммерческих фич могут различаться.

Требования

  • Сервер с CentOS 8.
  • Доступ root или sudo.
  • Доступ в интернет для скачивания пакетов или локальный RPM для Oracle JDK.

Установка OpenJDK 11

Сначала найдём доступные пакеты OpenJDK в репозиториях CentOS 8:

dnf search jdk

В выводе вы увидите перечень пакетов, например:

Last metadata expiration check: 1:23:41 ago on Wednesday 18 December 2019 02:23:23 AM EST.

========================================================= Summary & Name Matched: jdk =========================================================
java-11-openjdk-demo.x86_64 : OpenJDK Demos 11
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos 8
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.x86_64 : OpenJDK Source Bundle 11
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle 8
java-11-openjdk.x86_64 : OpenJDK Runtime Environment 11
copy-jdk-configs.noarch : JDKs configuration files copier
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment 8
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-11-openjdk-devel.x86_64 : OpenJDK Development Environment 11
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8
java-11-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 11
java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK 8 accessibility connector
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 8
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single archive
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed in a single archive
============================================================ Summary Matched: jdk =============================================================
icedtea-web.noarch : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation

Установите OpenJDK 11 с пакетом разработки (ключевое для сборки и большинства инструментов):

dnf install java-11-openjdk-devel.x86_64

Проверка установленной версии:

java -version

Ожидаемый пример вывода:

openjdk version "11.0.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)

Установка OpenJDK 8

Некоторые приложения поддерживают только Java 8. Установите OpenJDK 8 командой:

dnf install java-1.8.0-openjdk-devel

Проверка версии:

java -version

Пример вывода:

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

Переключение между версиями Java

На одной машине можно держать несколько версий JDK и переключаться между ними через alternatives.

Запустите:

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.5.10-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.232.b09-0.el8_0.x86_64/jre/bin/java)

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

Введите номер нужной реализации и нажмите Enter. Повторно проверьте активную версию:

java -version

Важно: alternatives управляет не только java, но и javac, jar и другими ссылками — проверьте их при необходимости.

Установка Oracle JDK 8

  1. Зайдите на сайт Oracle и откройте страницу загрузки Oracle JDK 8.
  2. Примите лицензионное соглашение и скачайте пакет вида jdk-8u231-linux-x64.rpm.
  3. Перейдите в каталог со скачанным файлом и выполните:
dnf localinstall jdk-8u231-linux-x64.rpm

Проверка версии:

java -version

Ожидаемый вывод:

java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

Примечание: Oracle может требовать регистрацию для скачивания. При установке локального RPM пакета проверьте цифровую подпись и источник.

Чек-листы по ролям

Администратор:

  • Проверить доступность репозиториев dnf.
  • Установить java-*-devel пакеты для сборки нативных расширений.
  • Обновить alternatives для всех бинарников Java.

Разработчик:

  • Убедиться, что переменная JAVA_HOME указывает на ожидаемую JVM.
  • Настроить сборку (Maven/Gradle) на целевую версию Java.

Инженер CI/CD:

  • Закрепить JDK в образах контейнеров или артефактах.
  • Добавить тест на корректную версию java -version в pipeline.

Команды-справочник

  • Поиск пакетов: dnf search jdk
  • Установка OpenJDK 11: dnf install java-11-openjdk-devel.x86_64
  • Установка OpenJDK 8: dnf install java-1.8.0-openjdk-devel
  • Локальная установка RPM: dnf localinstall .rpm
  • Переключение: alternatives –config java
  • Проверка: java -version

Таблица совместимости (кратко)

  • OpenJDK 8 — совместимость с приложениями, разработанными под Java 8.
  • OpenJDK 11 — LTS версия, рекомендуется для новых проектов, поддерживает модульность и современные улучшения.
  • Oracle JDK 8 — совместим с Java 8, может требовать лицензию для коммерческого использования.

Частые ошибки и способы устранения

  • Ошибка: «command not found» при java — убедитесь, что package java-*-openjdk установлен и alternatives настроен.
  • Приложение использует старую версию JVM — проверьте PATH и JAVA_HOME, перезапустите сервисы.
  • При установке Oracle RPM — проблема с зависимостями: используйте dnf localinstall для автоматического разрешения зависимостей.

Ментальные модели при выборе версии

  • Совместимость: если приложение заявлено под Java 8 — выбирайте Java 8.
  • Поддержка: для долгосрочных проектов выбирайте LTS (например, 11 на момент выхода).
  • Безопасность: держите JVM в актуальном состоянии патчей безопасности.

Руководство по проверке приемлемости установки

Критерии приёмки

  • Команда java -version возвращает ожидаемую версию.
  • alternatives указывает на правильный путь к бинарнику.
  • Службы, зависящие от Java, корректно стартуют после смены JVM.
  • При использовании Oracle JDK соблюдена политика лицензирования организации.

Небольшая методика отката при проблемах

  1. Если после установки новая JVM ломает сервис — переключитесь на прежнюю через alternatives.
  2. Откатите пакет через dnf history rollback или удалите RPM и установите нужный пакет из репозитория.
  3. Перезапустите сервисы и проверьте логи /var/log/messages или журналы systemd.

Простой decision flowchart в Mermaid

flowchart TD
  A[Нужна Java на CentOS 8?] --> B{Приложение требует версии}
  B -->|Java 8| C[Установить OpenJDK 8]
  B -->|Java 11 или выше| D[Установить OpenJDK 11]
  B -->|Коммерческая лицензия| E[Скачать Oracle JDK 8 по RPM]
  C --> F[Проверить java -version]
  D --> F
  E --> F
  F --> G[Настроить alternatives и JAVA_HOME]

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

  • JVM — виртуальная машина Java, выполняет байт-код.
  • JDK — комплект разработчика Java: JRE + компилятор и инструменты.
  • JRE — среда выполнения Java.
  • alternatives — механизм в RHEL/CentOS для управления символическими ссылками различных реализаций.

Вывод

Вы узнали, как установить OpenJDK 11 и OpenJDK 8 на CentOS 8, как переключать версии через alternatives и как установить Oracle JDK 8 из RPM. Следуйте чек-листам и критериям приёмки, чтобы убедиться, что среда готова к работе. При возникновении проблем сначала переключитесь обратно на предыдущую версию и изучите журналы.

Важно: выбирайте версию Java исходя из требований приложения и политики поддержки в вашей организации.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как выбрать приложение для торговли индексами
Финансы

Как выбрать приложение для торговли индексами

Загрузочный Recovery‑диск для Mac — как создать
macOS

Загрузочный Recovery‑диск для Mac — как создать

Сортировка файлов по расширению в Nautilus
Linux

Сортировка файлов по расширению в Nautilus

Командная строка: диагностика и ускорение интернета
Сеть

Командная строка: диагностика и ускорение интернета

Отключить автозапуск OneDrive в Windows
Windows

Отключить автозапуск OneDrive в Windows

Как безопасно передавать файлы на удалённый ПК
IT Security

Как безопасно передавать файлы на удалённый ПК