Открыть сервисСервис

Обновление Java

Обновление Java — это процесс установки более новой версии платформы Java (или обновления существующей установки до актуального патча) с целью получить исправления безопасности, новые функции и улучшения производительности. Платформа распространяется компанией Oracle (коммерческие сборки Oracle JDK) и сообществом (открытые сборки OpenJDK, в том числе дистрибутивы Temurin от Eclipse Adoptium, Amazon Corretto, Microsoft Build of OpenJDK, Zulu от Azul Systems).

Способы обновления

Автоматическое обновление (Oracle JDK)

Oracle JDK, начиная с версии 8u202 и особенно в актуальных релизах, поддерживает встроенный механизм автообновления:

  • Windows: в комплект входит служба Java Update, которая периодически проверяет наличие новых патчей и предлагает установить их через уведомление в трее. Настройки доступны в панели управления Java (Java Control Panel) на вкладке «Обновления» (Update).
  • macOS: аналогичный механизм встроен в панель Java; обновления распространяются через системный установщик.
  • Linux: Oracle JDK не предоставляет встроенного автообновления; обновление выполняется вручную или через пакетный менеджер.

Обновление через пакетный менеджер (Linux)

На дистрибутивах Linux Java обычно устанавливается и обновляется штатными средствами:

```bash

Debian / Ubuntu

sudo apt update && sudo apt upgrade openjdk-21-jdk

RHEL / CentOS / Fedora

sudo dnf update java-21-openjdk-devel ```

При необходимости установки конкретной версии можно использовать альтернативные репозитории, например, Adoptium (Eclipse Temurin) через apt или dnf, или инструмент управления версиями sdkman.

Ручное обновление (Windows, macOS)

  1. Удалить старую версию через «Установка и удаление программ» (Windows) или «Программы» в настройках системы (macOS).
  2. Скачать актуальный JDK или JRE с официального сайта Oracle или с сайта проекта OpenJDK-дистрибутива (например, adoptium.net).
  3. Запустить установщик и следовать инструкциям.
  4. Проверить переменную окружения JAVA_HOME и порядок в PATH, чтобы система подхватила новую версию.

Управление несколькими версиями

Для одновременного использования нескольких версий Java применяются специальные инструменты:

  • sdkman — менеджер версий для Linux/macOS, позволяет устанавливать и переключать JDK одной командой (sdk install java 21-tem, sdk use java 21-tem).
  • jEnv — менеджер версий Java для Linux/macOS.
  • Chocolatey (Windows): choco install temurin и далее choco upgrade temurin.
  • Scoop (Windows): scoop update java.
  • Homebrew (macOS): brew update && brew upgrade openjdk.

Что обновляется: JRE и JDK

Стоит различать два пакета:

  • JRE (Java Runtime Environment) — среда выполнения для запуска приложений. Начиная с Java 11, отдельный JRE Oracle официально не распространяет; вместо него предлагается «jlink» для создания компактных рантаймов.
  • JDK (Java Development Kit) — полный комплект для разработки, включает JRE, компилятор javac, отладчик и утилиты.

Обновление JDK автоматически обновляет и встроенную среду выполнения.

Версии с длительной поддержкой (LTS)

Для серверов и корпоративных систем рекомендуется использовать LTS-версии (Long-Term Support), которые получают патчи безопасности дольше обычных:

ВерсияСтатус поддержки Oracle
Java 8 (2014)Расширенная поддержка до 2030 (по подписке)
Java 11 (2018)Расширенная поддержка до 2032 (по подписке)
Java 17 (2021)Расширенная поддержка до 2029 (по подписке)
Java 21 (2023)Расширенная поддержка до 2031 (по подписке)

OpenJDK-дистрибутивы (Temurin, Corretto, Zulu) предоставляют бесплатные обновления LTS-версий в течение поддерживаемого срока.

Проверка текущей версии

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

``bash java -version ``

Команда выводит версию рантайма, сборку и (для Oracle JDK) тип лицензии. Для JDK дополнительно проверяется версия компилятора:

``bash javac -version ``

Рекомендации по безопасности

Релизы Java выходят по циклу «one plus three back»: в марте и сентябре выходит новый feature-релиз, а предыдущие три LTS-ветки получают патчи безопасности. Рекомендуется применять обновления не реже раза в квартал, особенно для серверных систем, работающих в интернете. Критические уязвимости (CVSS 9.0+) публикуются в бюллетенях Oracle Critical Patch Update, выходящих в январе, апреле, июле и октябре.

Проблемы при обновлении

Типичные сложности:

  • Конфликт версий: старые приложения могут не работать на новых версиях из-за удаления устаревших API (например, удаление Java EE модулей в Java 11, сильные инкапсуляции внутренних API с Java 16).
  • Переменная JAVA_HOME: после установки новой версии необходимо обновить путь в переменных окружения.
  • Кэш браузера: для Java-апплетов (исторически) требовалось обновление плагина в браузере.

Источники:

  • Документация Oracle Java SE Support Roadmap
  • Сайт Eclipse Adoptium (Eclipse Temurin)
  • Документация Amazon Corretto
  • Руководство по установке Azul Zulu
  • Бюллетени Oracle Critical Patch Update Advisory
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru