Глиф Учебники

Как установить JDK и прописать JAVA_HOME

Справочник · Java · 3 минуты чтения

JDK — набор для разработки на Java: компилятор javac, виртуальная машина java и другие инструменты. Берите версию LTS — 21 или новее. Официальные бесплатные сборки: Eclipse Temurin (adoptium.net) и Oracle JDK (oracle.com/java). В Linux проще поставить OpenJDK из репозитория системы.

Установка и JAVA_HOME

JAVA_HOME — переменная среды (настройка, которую система передаёт всем программам) с путём к папке JDK. По ней JDK находят Maven, Gradle, серверы приложений и другие программы. Как ставить JDK и задавать переменную, зависит от системы — выберите свою.

Windowsустановщик .msi

Установка

  1. Скачайте с adoptium.net установщик .msi для Windows x64 и запустите его.
  2. На шаге выбора компонентов включите пункт, который задаёт JAVA_HOME (Set JAVA_HOME): сразу он выключен. Пункт добавления в PATH (список папок, где система ищет команды) уже включён — оставьте его.
  3. Закройте все окна командной строки и откройте новое: старые окна не видят новых переменных.

Если JDK уже стоит, а JAVA_HOME не задан

  1. Нажмите Win+R, введите sysdm.cpl, на вкладке «Дополнительно» нажмите «Переменные среды».
  2. В разделе системных переменных (или переменных пользователя) нажмите «Создать»: имя — JAVA_HOME, значение — папка JDK, например C:\Program Files\Eclipse Adoptium\jdk-21.0.5.11-hotspot (у вас номер будет свой; у Oracle JDK папка обычно C:\Program Files\Java\jdk-21).
  3. Выберите переменную Path → «Изменить» → «Создать» и впишите %JAVA_HOME%\bin.
  4. Нажмите «ОК» во всех окнах и откройте новую командную строку.

JAVA_HOME указывает на саму папку JDK, а в Path добавляется её подпапка bin — там лежат java.exe и javac.exe. Проверка в командной строке:

Командная строка
echo %JAVA_HOME%
where java

Первая команда выводит путь к папке JDK. where java показывает все найденные java.exe по порядку — запускается первая (в PowerShell пишите where.exe java: там слово where значит другое). Если первой стоит папка старой Java, поднимите строку %JAVA_HOME%\bin в списке Path кнопкой «Вверх».

Не задавайте Path командой setx в командной строке: она может обрезать длинное значение, и из Path пропадут пути к другим программам. Меняйте Path через окно «Переменные среды».

Дальше: «Проверьте установку»

LinuxUbuntu, Debian, Linux Mint

Откройте терминал и выполните две команды: первая обновляет список пакетов, вторая ставит JDK.

Bash
sudo apt update
sudo apt install openjdk-21-jdk

Если пакета нет (старые выпуски систем), ставьте openjdk-17-jdk. Нужен пакет с jdk в имени: в jre компилятора нет. Команды java и javac сразу работают, JAVA_HOME нужен только программам, которые его требуют (Maven, Gradle, серверы приложений). Узнать папку JDK:

Bash
readlink -f "$(which javac)"

Команда выводит путь вроде /usr/lib/jvm/java-21-openjdk-amd64/bin/javac. JAVA_HOME — это путь без /bin/javac на конце. Добавьте в конец файла ~/.bashrc (файл настроек оболочки, он лежит в вашей домашней папке) две строки со своим путём:

Bash
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
export PATH="$JAVA_HOME/bin:$PATH"

Изменения действуют в новом окне терминала или после source ~/.bashrc. Если установлено несколько версий, переключить версию по умолчанию можно командами sudo update-alternatives --config java и sudo update-alternatives --config javac.

Дальше: «Проверьте установку»

macOSустановщик .pkg

Скачайте с adoptium.net установщик .pkg и запустите его. JDK ляжет в /Library/Java/JavaVirtualMachines/, а команды java и javac заработают сразу. Список установленных JDK показывает утилита (наберите в терминале):

Bash
/usr/libexec/java_home -V

Чтобы задать JAVA_HOME, добавьте в файл ~/.zshrc (файл настроек оболочки zsh, которая в macOS стоит по умолчанию) строку (для версии 21):

Bash
export JAVA_HOME=$(/usr/libexec/java_home -v 21)

Проверьте установку

В новом окне терминала наберите:

Bash
java -version
javac -version

Обе команды должны показать одну и ту же версию. Если javac не находится — смотрите справку javac не является внутренней или внешней командой.

Подводные камни