We need to make a distinction between the two environment variables that are discussed here interchangeably. One is the JAVA_HOME variable. The other is the Path variable. Any process that references the JAVA_HOME variable is looking for the search path to the JDK, not the JRE. The use of JAVA_HOME variable is not meant for the Java compiler itself. The compiler is aware of its own location. The variable is meant for other software to more easily locate the compiler. This variable is typically used by IDE software in order to compile and build applications from Java source code. By contrast, the Windows CMD interpreter, and many other first and third party software references the Path variable, not the JAVA_HOME variable.
Use case 1: Compiling from CMD
So for instance, if you are not using any IDE software, and you just want to be able to compile from the CMD, independent of your current working directory, then what you want is to set the Path variable correctly. In your case, you don’t even need the JAVA_HOME variable. Because CMD is using Path, not JAVA_HOME to locate the Java compiler.
Use case 2: Compiling from IDE
However, if you are using some IDE software, then you have to look at the documentation first of all. It may require JAVA_HOME to be set, but it may also use another variable name for the same purpose. The de-facto standard over the years has been JAVA_HOME, but this may not always be the case.
Use case 3: Compiling from IDE and CMD
If in addition to the IDE software you also want to be able to compile from the CMD, independent of your current working directory, then in addition to the JAVA_HOME variable you may also need to append the JDK search path to the Path variable.
JAVA_HOME vs. Path
If your problem relates to compiling Java, then you want to check the JAVA_HOME variable, and Path (where applicable). If your problem relates to running Java applications, then you want to check your Path variable.
Path variable is used universally across all operating systems. Because it is defined by the system, and because it’s the default variable that’s used for locating the JRE, there is almost never any problem running Java applications. Especially not on Windows where the software installers usually set everything up for you. But if you are installing manually, the safest thing to do is perhaps to skip the JAVA_HOME variable altogether and just use the Path variable for everything, for both JDK and the JRE. Any recent version of an IDE software should be able to pick that up and use it.
Symlinks
Symbolic links may provide yet another way to reference the JDK search path by piggybacking one of the existing environment variables.
I am not sure about previous versions of Oracle/Sun JDK/JRE releases, but at least the installer for jdk1.8.0_74 appends the search path C:\ProgramData\Oracle\Java\javapath
to the Path variable, and it puts it at the beginning of the string value. This directory contains symbolic links to the java.exe, javaw.exe and javaws.exe in the JRE directory.
So at least with the Java 8 JDK, and presumably the Java 8 JRE standalone, no environment variable configuration needs to be done for the JRE. As long as you use the installer package to set it up. There may be differences on your Windows installation however. Note that the Oracle JRE comes bundled with the JDK.
If you ever find that your Java JDK configuration is using the wrong version of the compiler, or it appears to be working by magic, without being explicitly defined so (without casting the spell), then you may have a symlink somewhere in your environment variables. So you may want to check for symlink.
Одна из распространенных проблем, с которой сталкиваются начинающие разработчики на Java — это установка переменной окружения JAVA_HOME. Эта переменная
Одна из распространенных проблем, с которой сталкиваются начинающие разработчики на Java — это установка переменной окружения JAVA_HOME. Эта переменная окружения используется некоторыми приложениями Java, включая Apache Tomcat и Apache Maven, для определения местоположения JDK (Java Development Kit) в системе.
Возьмем, к примеру, следующую ситуацию. После установки JDK и попытки запуска приложения, в консоли появляется сообщение об ошибке, уведомляющее о том, что необходимо установить java.home на установку JDK.
Следующая инструкция покажет, как установить JAVA_HOME на Windows 7.
- Открыть «Панель управления» через меню «Пуск».
- В поисковой строке панели управления ввести «Переменные среды» и выбрать «Редактировать переменные среды для вашего профиля».
- В открывшемся окне нажать «Создать».
- В поле «Имя переменной» ввести «JAVA_HOME».
- В поле «Значение переменной» ввести путь к установленной JDK. Например:
C:\Program Files\Java\jdk1.8.0_181
. - Нажать «ОК».
- Найти и выбрать переменную «Path» в «Системных переменных», затем нажать «Изменить».
- В конец значения переменной добавить
;%JAVA_HOME%\bin
. - Нажать «ОК» для закрытия всех окон.
Теперь приложения Java смогут определить местоположение JDK с помощью переменной JAVA_HOME. Если ошибка все еще сохраняется, стоит проверить, что путь к JDK указан верно.
Шаг 1: Скачать установочный файл с сайта
На сегодня местонахождения файлов для скачивания JDK находится по адресу Java SE Downloads
Думаю, что вы можете взять самый последний JDK — в нашем курсе это JDK 1.7 update 3. Но еще раз повторюсь — принципиальных отличий в установке вы не увидите. Ваша задача — найти версию JDK, которая установится на ваш компьютер — выберите операционную систему и разрядность.
Шаг 2: Установить JDK из файла
Здесь тоже каких-либо сложностей быть не должно — я не видел принципиальной разницы между версиями 1.4, 1.5, 1.6 и 1.7. Запускаем скачанный файл и после некоторого ожидания вы увидите стартовый экран для установки. Нажимаем «Next».
На следующем экране вам предложат директорию для установки. Мне больше нравится установка не в директорию по умолчанию. (она выделена красным). Нажмите кнопку «Change…».
В появившемся окне установите директорию «C:\Java\jdk1.7.0_03». После этого я вам настоятельно советую выделить этот путь и сохранить его в буфере обмена (чуть позже мы им воспользуемся). Дальше жмем «OK».
После этого можно увидеть установленную директорию в окне. Снова нажимаем кнопку «Next».
Через некоторое время установка JDK почти закончится, но вам также придется установить JRE (Java Runtime Environment). Вы это сразу увидите по форме, которая должна появиться. Здесь нет необходимости менять директорию — смело жмем «Next».
Какое-то время перед вами будет экран, на котором будет говориться, что 3 миллиарда устройств используют Java.
И наконец вы увидите, что установка закончилась.
В версии 1.7 появился еще один шаг — выбор установки JavaFX 2.0. У вас появиться экран для выбора директории (мне не очень понравилось, как он реализован). Но в общем можно просто нажимать кнопку «Next». Т.к. я плохо отношусь к диреториям с пробелом, то я выбрал свой вариант.
Шаг 3: Установка переменных среды — JAVA_HOME и PATH
На этом установка практически завершена. Останется сделать только еще один шаг — прописать путь до файлов JDK в путях операционной системы. Это позволит нам запускать основные файлы из командной строки — удобный момент. И также мы установим переменную JAVA_HOME — это правда нам пригодится не скоро, но сделаем это прямо сейчас. Думаю, что большинство из вас знает как это сделать. Но давайте все-таки это сделаем вместе. Я использую ОС Windows 7.0 — поэтому буду демонстрировать на ней. В меню «Пуск» найдите пункт «Компьютер» и щелкните на нем правой кнопкой мыши. В появившемся меню выберите пункт «Свойства». Появится окно
Выбираем пункт «Дополнительные параметры системы» (я выделил этот пункт). Получим окно, в котором надо выбрать пункт «Переменные среды».
В появившемся окне вам надо создать одну переменную — «JAVA_HOME». И отредактировать переменную «Path». Для этого нажимаем кнопку «Создать».
Вариант установки переменной «JAVA_HOME» показано на рисунке. Вот тут как раз и пригодится та строка, которую я предлагал вам запомнить при установке JDK.
Для установки переменной «Path» скорее всего ее создавать не надо — она уже обычно есть. Так что надо ее найти в списке и нажать кнопку «Изменить». Но будьте внимательны — во-первых здесь надо вводить строку предварительно поставив «;» в конце списка всех путей. И во-вторых — надо добавить строку «\bin» после. Пример показан на рисунке.
И еще раз — БУДЬТЕ ВНИМАТЕЛЬНЫ при редактировании PATH — она содержит важную информацию. Не надо ее целиком стирать и оставлять только свою строку. Надо после точки с запятой ДОБАВИТЬ строку до каталога с JDK (+ строка «\bin»). Т.е. если у вас JDK установлен в каталог C:\Java\jdk1.7, то в PATH надо добавить (через «;») строку C:\Java\jdk1.7\bin.
Теперь мы сделали все необходимые шаги для установки JDK — пора приступать к написанию простой программы. Основные шаги
If you have already installed Java on Windows systems. Then you need to set the JAVA_HOME environment variable to make it work properly. Additionally, you also need to add java bin folder location in PATH environment variable. This tutorial will help you to set JAVA_HOME on Windows 7/8/10 operating systems.
Step 1 – Edit Environment Variables
You can set the environment variables by opening the system properties:
- Type sysdm.cpl on run window or Right-click on My Computer and select Properties.
- Go to Advanced tab.
- Click Environment Variables… button.
Now click on the New button under system variables. An input dialog will open. Enter the following details. The variable value may differ as per the installed Java version.
Variable name: JAVA_HOME Variable value: C:\Program Files\Java\jdk1.8.0_121
Step 3 – Set Path Variable on Windows
Additionally, You will also be required to add the bin location of your java binaries to the systems Path variable. Edit PATH variable under system variables and append string ;%JAVA_HOME%\bin in variable value and save it.
Step 4 – Verify Settings
Finally, you may need to verify all the settings. To verify, open the command prompt and type the below commands to check JAVA_HOME and Path environment variables values.
C:\Users\Rahul> echo %JAVA_HOME% C:\Users\Rahul> path
The result will be something like the one below.
- How to Install Apache Maven on Windows
Во многих статьях в интернете, документации к инструментам для разработки на Java и в книгах зачастую упоминается JAVA_HOME. Что же такое JAVA_HOME?
JAVA_HOME это переменная окружения, указывающая на директорию с установленным JDK (Java Development Kit, комплект разработчика Java). JAVA_HOME это соглашение, используемое во многих программах из экосистемы Java.
Какие программы используют JAVA_HOME
- Intellij IDEA, Eclipse, NetBeans
- Apache Maven, Apache Ant, Gradle
- Apache Tomcat
- Jenkins
Некоторые игры, написанные на Java (например, Minecraft), тоже могут требовать установленной переменной JAVA_HOME.
Ошибки, связанные с JAVA_HOME
Если переменная окружения JAVA_HOME не определена, некоторые программы могут выдавать следующие ошибки:
- Переменная среды java_home не определена
- Cannot determine a valid Java Home
- JAVA_HOME is set to an invalid directory
- JAVA_HOME is not defined correctly
- JAVA_HOME environment variable is not set
- JAVA_HOME command not found
- JAVA_HOME not found in your environment
- JAVA_HOME does not point to the JDK
При появлении таких ошибок просто установите переменную JAVA_HOME
Как установить переменную окружения JAVA_HOME в Windows
Сперва вам нужно установить JDK или JRE.
- Установите JDK, если вы занимаетесь разработкой программ на Java
- Установите JRE, если вам нужно только запустить прикладную программу на Java
После установки JDK либо JRE запишите путь установки, он понадобится.
Теперь щёлкните правой кнопкой на «Мой компьютер» → «Свойства» → «Дополнительные параметры системы» → «Переменные среды…». В разделе «Системные переменные» нажмите кнопку «Создать…» и укажите следующие данные:
Имя переменной | JAVA_HOME |
Значение переменной | Путь к директории JDK / JRE, например: C:\Java\jdk-11.0.6 |
Сохраните изменения, кликнув «OK». Теперь выберите в списке переменную окружения Path и нажмите «Изменить…». В конце списка добавьте строчку со значением «%JAVA_HOME%\bin«
Для проверки откройте консоль (Win+R, cmd) и укажите последовательно укажите две команды:
echo %JAVA_HOME%
java --version
Если вы правильно установили JDK/JRE и правильно установили переменные окружения, вы увидите вывод наподобие этого:
Это будет служить результатом того, что переменная JAVA_HOME установлена правильно и Java работает из командной строки.
Резюме
В данной статье мы рассказали вам, что являет собой переменная окружения JAVA_HOME, где она используется и как её корректно указать.