
Переменная окружения JAVA_HOME указывает на директорию, в которой установлена Java. Знание этого пути необходимо для корректной настройки среды разработки, работы с различными фреймворками и инструментами, использующими Java, таких как Maven или Gradle. Нередко правильная настройка JAVA_HOME является критической для успешной работы приложений и сервисов, основанных на языке Java.
Для определения значения JAVA_HOME на вашем компьютере необходимо использовать инструменты командной строки или оболочки, которые зависят от операционной системы. В Windows и Unix-подобных системах процесс может немного различаться, но общие принципы остаются схожими.
В Windows, чтобы узнать значение JAVA_HOME, нужно выполнить команду echo %JAVA_HOME% в командной строке. Если переменная установлена, система отобразит путь к директории установки Java. Если нет, команда не вернет никакого результата или покажет ошибку.
В Linux или macOS можно использовать команду echo $JAVA_HOME в терминале. Также возможен способ проверки с помощью команды which java, которая покажет путь к исполнимому файлу Java. Однако, в случае, если переменная JAVA_HOME не установлена, команда ничего не отобразит, и тогда нужно будет выполнить настройку вручную.
Проверка переменной JAVA HOME в командной строке Windows
Чтобы проверить значение переменной окружения JAVA HOME на компьютере с операционной системой Windows, необходимо использовать командную строку. Для этого выполните следующие шаги:
1. Откройте командную строку. Для этого нажмите клавишу Windows, введите «cmd» и выберите «Командная строка» из результатов поиска.
2. Введите следующую команду и нажмите Enter:
echo %JAVA_HOME%
Если переменная JAVA HOME установлена, командная строка отобразит путь к директории, где установлена Java. Например:
C:\Program Files\Java\jdk-17
Если вместо пути вы видите сообщение «%JAVA_HOME%», это означает, что переменная не настроена или была удалена.
Для того чтобы задать значение переменной JAVA HOME, можно использовать команду:
setx JAVA_HOME "C:\Program Files\Java\jdk-17"
После этого переменная будет установлена, и изменения вступят в силу после перезапуска командной строки или системы.
Если необходимо проверить, активна ли переменная в текущей сессии командной строки, используйте команду:
echo %JAVA_HOME%
Если переменная не настроена, рекомендуется добавить путь к установленной JDK в системные переменные. Это можно сделать через «Система» > «Дополнительные параметры системы» > «Переменные среды» и добавить JAVA_HOME вручную в раздел системных переменных.
Как найти JAVA HOME на MacOS через терминал

Для поиска значения переменной JAVA HOME на MacOS откройте терминал и выполните команду:
echo $JAVA_HOME
Если переменная установлена, терминал выведет путь к директории, где расположена Java. Например, это может быть что-то вроде:
/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home
/usr/libexec/java_home
Эта команда автоматически найдет и выведет путь к текущей версии Java. Например:
/Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home
Чтобы установить JAVA HOME на MacOS, откройте файл конфигурации вашего шелла (например, .bash_profile, .zshrc) и добавьте строку:
export JAVA_HOME=$(/usr/libexec/java_home)
После этого сохраните файл и выполните команду:
source ~/.zshrc
или для bash:
source ~/.bash_profile
Теперь JAVA HOME будет задано, и вы сможете использовать его в любых приложениях, которые требуют этой переменной.
Использование командной строки для проверки JAVA HOME на Linux
Для проверки значения переменной JAVA HOME на Linux можно использовать несколько команд в терминале. Приведенные методы позволяют быстро и точно узнать, куда указывает данная переменная, и настроена ли она корректно.
Первым шагом является использование команды echo, которая позволяет вывести значение переменной окружения:
- Откройте терминал.
- Введите команду:
echo $JAVA_HOME
Если переменная установлена, вы увидите путь, где находится Java. Например:
/usr/lib/jvm/java-11-openjdk-amd64
Если переменная не установлена, терминал ничего не выведет. В таком случае, нужно будет настроить переменную JAVA HOME вручную.
- Введите команду:
sudo update-alternatives --config java
После выполнения команды вам будет предложено выбрать установленную версию Java. Это также подтвердит, что Java доступна на системе, и в случае необходимости укажет путь к установленной версии.
Если обе команды не дают результата, то переменная JAVA HOME либо не настроена, либо у вас нет установленной версии Java. В таком случае нужно будет установить Java или настроить переменную вручную.
Как настроить JAVA HOME на Windows, если переменная не задана

Если переменная окружения JAVA_HOME отсутствует, выполните следующие шаги для её добавления:
- Откройте «Пуск» и введите Системные переменные. Выберите пункт «Изменение системных переменных среды».
- В окне «Свойства системы» нажмите кнопку «Переменные среды».
- В нижнем блоке «Системные переменные» нажмите «Создать».
- В поле «Имя переменной» введите
JAVA_HOME. - В поле «Значение переменной» укажите путь к установленному JDK. Пример:
C:\Program Files\Java\jdk-17. Путь должен указывать именно на корень JDK, а не на папку bin. - Нажмите «ОК» во всех открытых окнах.
Для проверки:
- Откройте командную строку (Win + R, введите
cmd, нажмите Enter). - Введите команду
echo %JAVA_HOME%. - Если переменная указана верно, отобразится путь к JDK.
При необходимости добавить JDK в PATH:
- В том же окне переменных среды найдите системную переменную
Pathи нажмите «Изменить». - Добавьте новую строку:
%JAVA_HOME%\bin. - Сохраните изменения.
Проверка значения JAVA HOME через переменные среды в MacOS

Откройте терминал через Spotlight или Launchpad. Введите команду:
echo $JAVA_HOME
Если переменная установлена, вы увидите путь, например: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home. При пустом результате переменная не задана.
Чтобы определить доступные установки Java, выполните:
/usr/libexec/java_home -V
Команда отобразит список установленных версий и их пути. Чтобы временно установить JAVA_HOME в текущей сессии, используйте:
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
Для постоянного применения добавьте строку в ~/.zshrc или ~/.bash_profile в зависимости от используемой оболочки:
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
Сохраните файл и выполните source ~/.zshrc или source ~/.bash_profile, чтобы изменения вступили в силу.
Установка и проверка переменной JAVA HOME для разных версий JDK

Для JDK 8 путь обычно выглядит так: C:\Program Files\Java\jdk1.8.0_xx. Открой «Системные переменные», добавь новую переменную с именем JAVA_HOME и значением пути до корня установленной JDK. Убедись, что путь не содержит \bin в конце. После сохранения перезапусти терминал и проверь установку командой echo %JAVA_HOME%.
Для JDK 11 и выше структура установки может отличаться. Если JDK установлен через choco или sdkman, путь определяется автоматически, но переменную JAVA_HOME можно задать вручную. Найди фактический путь установки, например C:\Program Files\Java\jdk-11.0.x, и укажи его в переменной. Проверка такая же: echo %JAVA_HOME% в Windows или echo $JAVA_HOME в Unix-системах.
На macOS можно установить JDK через brew install openjdk@17. После установки путь будет примерно /opt/homebrew/opt/openjdk@17. Добавь строку export JAVA_HOME=$(/opt/homebrew/opt/openjdk@17/bin/java -XshowSettings:properties -version 2>&1 | grep 'java.home' | awk '{print $3}') в ~/.zshrc или ~/.bash_profile. Перезапусти терминал и проверь значение переменной.
В Linux, если JDK установлен вручную, путь может быть /usr/lib/jvm/java-17-openjdk-amd64. Добавь в ~/.bashrc строку export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 и выполни source ~/.bashrc. Для проверки используй echo $JAVA_HOME.
При наличии нескольких версий JDK рекомендуется использовать утилиты update-alternatives (в Debian/Ubuntu) или sdkman (кроссплатформенно) для переключения и автоматической установки JAVA_HOME.
Как изменить значение JAVA HOME для конкретного пользователя в Linux

Откройте файл ~/.bashrc, ~/.zshrc или другой конфигурационный файл соответствующего интерпретатора командной строки пользователя. Для Bash выполните:
nano ~/.bashrc
Добавьте или измените строку с переменной JAVA_HOME:
export JAVA_HOME=/opt/jdk-21
Убедитесь, что путь указывает на корневую директорию установленной версии JDK. Для активации новой переменной без перезапуска сеанса выполните:
source ~/.bashrc
Чтобы проверить, что переменная установлена корректно, используйте:
echo $JAVA_HOME
Если используется shell, отличный от Bash, путь к конфигурационному файлу может отличаться. Например, для Zsh – ~/.zshrc, для Fish – ~/.config/fish/config.fish.
Проблемы при проверке JAVA HOME и их решение
Переменная JAVA_HOME не установлена
Указан путь к JRE вместо JDK
Некоторые инструменты требуют именно JDK. Если путь заканчивается на jre, это неверно. Найдите каталог, содержащий bin/javac, и используйте его как значение JAVA_HOME.
Несовместимость с версией Java
Некоторые приложения требуют конкретной версии JDK. Убедитесь, что JAVA_HOME указывает на версию, соответствующую требованиям. Проверить версию можно через $JAVA_HOME/bin/java -version.
Изменения не применяются
Если после установки переменной система продолжает использовать старую версию Java, проверьте значение переменной PATH. Каталог $JAVA_HOME/bin должен быть в начале списка путей. Иначе приоритет получит другой исполняемый файл java.
Переменная задана, но недоступна
На Linux/macOS переменные, установленные в .bashrc или .zshrc, применяются только в интерактивных сессиях. Для использования переменной в графических приложениях её нужно прописать в /etc/environment или использовать launchctl (macOS).
