Java — это как старая, но полезная отвертка. Иногда она тебе бесит, иногда спасает, но выкинуть — страшно. Работает везде: от сервера до кофеварки с «умной» прошивкой.

В Ubuntu её нет «из коробки» в том виде, в каком Oracle её рисует в презентациях. Но есть OpenJDK — бесплатная и рабочая версия. Для 99% задач она норм, а если ты вдруг решил юзать Oracle Java, то, вероятно, ты либо корпоративный энтерпрайз, либо просто любишь страдать с лицензиями.

1. OpenJDK 11 — дефолт

Это LTS (долгоживущая) версия, которой хватает почти всегда.

sudo apt update
sudo apt install openjdk-11-jdk

Проверяем:

java -version

Если нужен только рантайм (JRE, чтобы просто запускать приложения), то:

sudo apt install openjdk-11-jre

Если вообще без графики, для серверов:

sudo apt install openjdk-11-jdk-headless

2. OpenJDK 8 — старый, но живой

До сих пор нужен под кучу легаси-проектов, которые боятся обновлений.

sudo apt update
sudo apt install openjdk-8-jdk

Проверка:

java -version

3. Несколько версий и выбор дефолта

Иногда на сервере живёт сразу несколько проектов: один на Java 8, другой на Java 11. Менять версию можно так:

sudo update-alternatives --config java

Выбираешь номер версии, жмёшь Enter. Всё.

4. JAVA_HOME — чтобы всё знало, где твоя Java

Некоторые приложения будут орать, что не знают, где Java. Тогда прописываешь переменную окружения:

Сначала смотришь путь:

sudo update-alternatives --config java

Пример для Java 11:

/usr/lib/jvm/java-11-openjdk-amd64/bin/java

Открываешь:

sudo nano /etc/environment

Добавляешь в конец:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64" 

Чтобы подхватить:

source /etc/environment

Проверка:

echo $JAVA_HOME 

5. Удаление

Не нужна? Удаляем как любой пакет:

sudo apt remove openjdk-11-jdk

Вывод

Вся установка — 2–3 команды. Вся магия «какую версию выбрать» сводится к простому правилу: если тебе прямо не сказали ставить 8-ю, ставь 11-ю. Всё остальное — корпоративные заморочки и наследие легаси-проектов.