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

Установка Java на Ubuntu: OpenJDK, Oracle JDK, удаление и управление

6 min read Linux Обновлено 24 Apr 2026
Установка Java на Ubuntu — OpenJDK и Oracle JDK
Установка Java на Ubuntu — OpenJDK и Oracle JDK

Если вам нужно запустить Java-приложения — установите OpenJRE (default-jre). Для разработки берите OpenJDK (default-jdk) или Oracle JDK 17 (LTS). На Ubuntu легче всего установить OpenJDK через apt. Для нескольких версий используйте update-alternatives или инструменты вроде SDKMAN. Ниже — пошаговые команды, советы по настройке JAVA_HOME, способы удаления, сценарии для разработчика и администратора, а также чеклисты и карта принятия решений.

установка Java на Ubuntu

Что такое JDK, JRE и JVM

Коротко:

  • JDK — набор инструментов для разработки Java-приложений. Включает компилятор, отладчик и JRE.
  • JRE — среда выполнения; нужна только чтобы запускать уже собранные Java-программы.
  • JVM — виртуальная машина, которая выполняет байт-код Java.

JRE содержит JVM и базовые библиотеки. JDK включает JRE плюс инструменты разработки.

сравнение jdk и jre

Если вы хотите только запускать приложения (например, Minecraft), достаточно JRE. Если будете писать код и собирать приложения — выбирайте JDK.

Издания и реализации Java

Java делится на несколько редакций:

  • Java SE (Standard Edition) — стандартная платформа для десктопа и серверов.
  • Java EE (Enterprise Edition) — расширения для корпоративных приложений (серверы, транзакции).
  • Java ME (Micro Edition) — платформа для встроенных и мобильных устройств.
  • JavaFX — библиотека для создания UI.

Реализации:

  • OpenJDK/OpenJRE — свободный вариант, доступный в репозиториях Ubuntu.
  • Oracle JDK — коммерческая реализация от Oracle; имеет свои сборки и лицензирование.

В этом руководстве основной акцент на Java SE 17 (LTS), но команды и принципы применимы к другим версиям.

Установка OpenJDK и OpenJRE на Ubuntu

Ubuntu использует пакетный менеджер APT. Откройте терминал (Ctrl + Alt + T) и обновите индекс пакетов:

sudo apt update

Установите JDK (полный набор для разработки):

sudo apt install default-jdk

Подтвердите вводом “y” и нажатием Enter.

Если нужна только среда выполнения (для запуска):

sudo apt install default-jre

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

java --version

Если команда выводит версию, Java готова к использованию.

Важно: “default-jdk” и “default-jre” устанавливают версию, рекомендованную дистрибутивом. Для конкретной версии (например, openjdk-17-jdk) замените имя пакета.

Загрузка и установка Oracle Java на Ubuntu

Ubuntu-репозитории обычно не содержат Oracle JDK. Его можно скачать с сайта Oracle.

Скачайте пакет DEB для нужной версии (например, JDK 17).

Ссылка для загрузки: Oracle Java

  1. Перейдите на страницу загрузки Oracle Java.
  2. Выберите раздел Java 17 (LTS) и скачайте пакет DEB для x64.

загрузка Oracle Java 17 с официального сайта

  1. Нажмите по ссылке рядом с опцией “x64 Debian Package” чтобы начать загрузку.

скачать DEB-пакет Oracle Java 17

Сайт может потребовать вход в аккаунт Oracle. Если у вас его нет — регистрация бесплатна.

Установка скачанного DEB-файла:

  • Перейдите в папку с файлом и дважды кликните по .deb — откроется Snap Store или GNOME Software. Нажмите “Install”.
  • Если графический установщик недоступен, установите через терминал:
sudo apt install ./имя_файла.deb

После установки проверьте java –version.

Настройка переменных окружения (JAVA_HOME и PATH)

Если вы установили Oracle JDK вручную, нужно указать JAVA_HOME и обновить PATH.

Временная настройка (действует в текущей сессии):

export JAVA_HOME=/usr/lib/jvm/jdk-17
echo $JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
java --version

Для постоянной настройки добавьте строки в ~/.bashrc или ~/.profile:

# Добавьте в конец файла ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/jdk-17
export PATH=$PATH:$JAVA_HOME/bin

После правки выполните:

source ~/.bashrc

Альтернатива (глобально для всех пользователей): редактируйте /etc/environment и добавьте PATH/ JAVA_HOME там, затем перезагрузите сеанс.

Совет: используйте точный путь, который установщик создал. Узнать доступные JVM можно так:

ls -la /usr/lib/jvm

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

Если на машине установлено несколько JDK, используйте update-alternatives чтобы переключаться:

sudo update-alternatives --config java

Для javac:

sudo update-alternatives --config javac

Этот механизм позволяет выбирать приоритеты и глобально переключать версии.

Удаление Java с Ubuntu

Удаление OpenJDK/OpenJRE через apt:

sudo apt remove default-jdk default-jre

Подтвердите вводом “y”. Для полной очистки конфигурационных файлов добавьте –purge:

sudo apt purge default-jdk default-jre
sudo apt autoremove

Удаление Oracle JDK, установленного через DEB:

  1. Найдите имя пакета:
dpkg --list | grep jdk
  1. Удалите пакет (замените имя на найденное):
sudo apt remove jdk-17
sudo apt purge jdk-17
sudo apt autoremove

Или через графический установщик нажмите “Remove”.

Альтернативные способы установки

  • SDKMAN — удобный менеджер версий для JVM и инструментов разработчика. Позволяет быстро устанавливать и переключать версии Java, Maven, Gradle.
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 17.0.7-open
  • apt-get с указанием конкретного пакета (например openjdk-11-jdk).
  • Snap/Flatpak — иногда доступны сборки, но проверяйте источник.

Когда использовать SDKMAN: если вы разработчик и часто переключаетесь между версиями.

Безопасность и приватность

  • Установка Java не передаёт ваши личные данные. Однако сторонние приложения, плагины и бандлы от Oracle могут иметь свои требования.
  • Для серверных установок ограничьте права на папки JDK (только root и специальный сервисный юзер).
  • Обновляйте JDK своевременно, чтобы закрывать известные уязвимости.

Когда этот подход не подойдёт (примеры неудач)

  • Если у вас закрытая корпоративная среда с прокси/файрволом и политиками установки ПО — прямой apt/скачивание с Oracle могут быть запрещены.
  • Если вы требуете специфичных коммерческих патчей Oracle — OpenJDK может не соответствовать требованиям.
  • На очень старых версиях Ubuntu пакеты openjdk-17 могут отсутствовать в репозитории.

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

  • “Запуск” VS “Разработка”: если нужно лишь запускать — JRE; если писать — JDK.
  • “Стабильность” VS “Свежесть”: LTS-релиз (17, 21 и т.д.) для продакшна; более новые версии — для тестов и новых фич.
  • “Пакетный менеджер“ VS “ручная установка”: предпочитайте репозитории дистрибутива или SDKMAN для удобства обновления.

Карта принятия решений

flowchart TD
  A[Нужно Java?] --> B{Только запуск?}
  B -- Да --> C[Установить default-jre]
  B -- Нет --> D{Разработка или продакшн?}
  D -- Разработка --> E[Установить default-jdk или SDKMAN]
  D -- Продакшн --> F{Нужны патчи Oracle?}
  F -- Да --> G[Скачать Oracle JDK и установить DEB]
  F -- Нет --> H[Установить OpenJDK LTS]
  C --> I[Проверить java --version]
  E --> I
  G --> I
  H --> I

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

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

  • Установить JDK (default-jdk или через SDKMAN).
  • Настроить JAVA_HOME и PATH.
  • Проверить javac –version и maven/gradle.
  • Добавить .java-совместимость в CI.

Системный администратор:

  • Установить JDK на сервер через пакетный менеджер.
  • Настроить update-alternatives для унификации.
  • Ограничить права доступа к /usr/lib/jvm.
  • Настроить автоматические обновления безопасности.

DevOps/CI:

  • Фиксировать версию JDK в пайплайне.
  • Использовать контейнеры с предустановленной JVM.
  • Добавить тесты совместимости (см. раздел ниже).

Тестовые случаи и критерии приёмки

Тестовые сценарии:

  1. Проверка установки JRE: java –version возвращает ожидаемую версию.
  2. Проверка установки JDK: javac –version возвращает ожидаемую версию.
  3. Компиляция простого приложения:
// HelloWorld.java
public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello, Java");
  }
}

Сборка и запуск:

javac HelloWorld.java
java HelloWorld

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

  • Программа компилируется без ошибок.
  • Программа выводит “Hello, Java”.
  • Переменные окружения JAVA_HOME и PATH настроены и доступны для нового логина.

Шаблоны команд и полезные сниппеты

Проверить доступные JVM:

ls -la /usr/lib/jvm

Добавить альтернативу вручную (пример):

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1

Очистка пакетов и зависимостей:

sudo apt purge openjdk-* default-jdk default-jre
sudo apt autoremove

SDKMAN: установка и переключение:

# установка SDKMAN
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
# установить OpenJDK 17
sdk install java 17.0.7-open
# переключиться
sdk use java 17.0.7-open

Совместимость и подсказки по миграции

  • При переходе с Java 8 на Java 11/17 проверяйте устаревшие API и сторонние библиотеки.
  • Для серверных приложений убедитесь, что контейнеры приложений (Tomcat, Jetty) поддерживают выбранную JVM.
  • Меньше всего проблем обычно с LTS-версиями.

Краткое резюме

  • Для запуска приложений установите default-jre. Для разработки — default-jdk или Oracle JDK.
  • Для управления несколькими версиями пользуйтесь update-alternatives или SDKMAN.
  • Настройте JAVA_HOME и PATH в ~/.bashrc или /etc/environment для постоянного эффекта.
  • Удаляйте пакеты через apt purge и autoremove при необходимости.

Важно

Всегда проверяйте лицензии и требования корпоративной политики перед установкой Oracle JDK. Для большинства проектов открытый OpenJDK полностью удовлетворяет потребности.

Конец

установка JDK 17 через Ubuntu Software

Сопроводительная заметка: этот материал охватывает основные сценарии установки, настройки и удаления Java на Ubuntu. Он предназначен для разработчиков и администраторов, которые хотят безопасно и предсказуемо управлять Java-окружением.

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

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

Фильтры и Filter Views в Google Sheets
Google Sheets

Фильтры и Filter Views в Google Sheets

Уменьшить нагрузку на CPU в Windows 11
Windows

Уменьшить нагрузку на CPU в Windows 11

Чтение и запись XML в Java
Java

Чтение и запись XML в Java

Как остановить брокеров данных и защитить приватность
Конфиденциальность

Как остановить брокеров данных и защитить приватность

Как использовать Camera Control на iPhone 16
Мобильная фотография

Как использовать Camera Control на iPhone 16

Как записывать звук в Audacity на Windows и Mac
Аудио

Как записывать звук в Audacity на Windows и Mac