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

Что такое JDK, JRE и JVM
Коротко:
- JDK — набор инструментов для разработки Java-приложений. Включает компилятор, отладчик и JRE.
- JRE — среда выполнения; нужна только чтобы запускать уже собранные Java-программы.
- JVM — виртуальная машина, которая выполняет байт-код Java.
JRE содержит JVM и базовые библиотеки. 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
- Перейдите на страницу загрузки Oracle Java.
- Выберите раздел Java 17 (LTS) и скачайте пакет DEB для x64.

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

Сайт может потребовать вход в аккаунт 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:
- Найдите имя пакета:
dpkg --list | grep jdk- Удалите пакет (замените имя на найденное):
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.
- Добавить тесты совместимости (см. раздел ниже).
Тестовые случаи и критерии приёмки
Тестовые сценарии:
- Проверка установки JRE: java –version возвращает ожидаемую версию.
- Проверка установки JDK: javac –version возвращает ожидаемую версию.
- Компиляция простого приложения:
// 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 autoremoveSDKMAN: установка и переключение:
# установка 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 полностью удовлетворяет потребности.
Конец

Сопроводительная заметка: этот материал охватывает основные сценарии установки, настройки и удаления Java на Ubuntu. Он предназначен для разработчиков и администраторов, которые хотят безопасно и предсказуемо управлять Java-окружением.
Похожие материалы
Фильтры и Filter Views в Google Sheets
Уменьшить нагрузку на CPU в Windows 11
Чтение и запись XML в Java
Как остановить брокеров данных и защитить приватность
Как использовать Camera Control на iPhone 16