Что такое JAVA_HOME? Как JVM находит путь javac, хранящийся в JAVA_HOME?

Я хотел бы знать, что такое JAVA_HOME. Где указать путь к javac.exe и java.exe. Он находится в переменных окружения. Когда я компилирую программу Java из командной строки, как JVM находит javac.exe?


person giri    schedule 08.01.2010    source источник
comment
Более понятный вопрос, что такое JAVA_HOME: stackoverflow.com/questions/5102022/   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 09.01.2015


Ответы (9)


JVM не находит java.exe. Даже не называет. java.exe вызывается операционной системой (в данном случае Windows).

JAVA_HOME — это просто соглашение, обычно используемое Tomcat, другими серверами приложений Java EE и инструментами сборки, такими как Gradle, чтобы найти, где живет Java.

С вашей точки зрения, важно, чтобы каталог Java /bin находился на вашем PATH, чтобы Windows могла найти инструменты .exe, поставляемые с JDK: javac.exe, java.exe, jar.exe и т. д.

person duffymo    schedule 08.01.2010
comment
@Rajper Я не думаю, что JAVA_HOME помогает найти JDK. Это только для JRE - person Aman; 08.09.2014
comment
JAVA_HOME в основном ведет к корню JRE или JDK, а путь — это отдельная история, которая делает доступными исполняемые файлы. - person rogue lad; 10.09.2014

JAVA_HOME и JRE_HOME не используются самой Java. Некоторые сторонние программы (например, Apache Tomcat) ожидают, что одна из этих переменных среды будет установлена ​​в каталог установки файла JDK или JRE. Если вы не используете программное обеспечение, для которого они требуются, вам не нужно устанавливать JAVA_HOME и JRE_HOME. PATH — это переменная среды, используемая операционной системой (Windows, Mac OS X, Linux), где она будет искать собственные исполняемые программы для запуска. Вы должны добавить подкаталог bin вашего установочного каталога JDK в PATH, чтобы вы могли использовать команды javac и java и другие инструменты JDK в окне командной строки. Предоставлено: coderanch

person raikumardipak    schedule 31.12.2014

установить переменную окружения

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_24

classpath=C:\Program Files\Java\jdk1.6.0_24\lib\tools.jar

path=C:\Program Files\Java\jdk1.6.0_24\bin
person user2546847    schedule 04.07.2013

Командная строка не будет использовать JAVA_HOME для поиска javac.exe, она будет использовать PATH.

person Kaleb Brasee    schedule 08.01.2010

JAVA_HOME — это переменная среды (в терминологии Unix) или переменная PATH (в терминологии Windows). Многие хорошо работающие Java-приложения (для которых требуется JDK/JRE) ищут в переменной JAVA_HOME место, где можно найти компилятор/интерпретатор Java.

person Community    schedule 08.01.2010

JAVA HOME используется для настройки переменной окружения для JAVA. Это означает, что вы предоставляете путь для компиляции программы JAVA, а также запускаете ее. Итак, если вы не установите JAVA HOME (ПУТЬ) и попытаетесь запустить java или любую зависимую программу в командной строке.

Вы будете иметь дело с ошибкой как javac : not recognized as internal or external command. Теперь, чтобы установить это, просто откройте свой Java jdk, затем откройте папку bin, затем скопируйте PATH этой папки bin.

Теперь перейдите в «Мой компьютер», щелкните его правой кнопкой мыши ----> выберите свойства -----> выберите «Дополнительные параметры системы» -----> нажмите «Переменные среды» -----> выберите «Создать» ----- -> введите имя в текстовом поле Имя переменной, а затем вставьте путь в значение.

Это все!!

person Ashraf.Shk786    schedule 03.03.2019

используйте эту команду /usr/libexec/java_home, чтобы проверить JAVA_HOME

person lantian0811    schedule 23.10.2016
comment
Старый вопрос. Лучше указать на справочную страницу Oracle. при установке JAVA_HOME. - person MikeJRamsey56; 23.10.2016

JAVA_HOME — это переменная среды, в которой указано расположение каталога Java на вашем компьютере. PATH — это внутренняя команда DOS, которая находит каталог /bin используемой версии Java. Обычно они одинаковы, за исключением того, что запись PATH заканчивается на /bin

person Jim Arona    schedule 18.04.2016

В основном JAVA_HOME используется для установки пути к java. это использование в окнах. он используется для установки пути к нескольким программам, таким как java EE , ANT и Maven. это шаги для решения вашей проблемы:

только для ядра java, чтобы установить путь: путь: "C:\Program Files\Java\jre1.8.0_77\bin", но когда вы используете несколько построенных, как ANT, ядро ​​java, тогда вы используете JAVE_HOME в среде.

Следуйте шагам :

JAVA_HOME:"C:\Program Files\Java\jre1.8.0_77\bin" ANT_HOME:"C:\ant\apache-ant-1.9.6"

Путь: JAVA_HOME, ANT_HOME; это систематический способ установки переменной среды.

person RISHABHA SINGH    schedule 22.04.2016
comment
JAVA_HOME не должен включать каталог bin. - person DaveCleland; 13.04.2018