Что такое JAVA_HOME? Как JVM находит путь javac, сохраненный в JAVA_HOME? - PullRequest
43 голосов
/ 08 января 2010

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

Ответы [ 9 ]

52 голосов
/ 08 января 2010

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

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

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

13 голосов
/ 04 июля 2013

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

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
11 голосов
/ 08 января 2010

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

9 голосов
/ 31 декабря 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

0 голосов
/ 03 марта 2019

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

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

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

Вот и все !!

0 голосов
/ 23 октября 2016

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

0 голосов
/ 22 апреля 2016

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

только для ядра Java, чтобы установить путь: путь: "C:\Program Files\Java\jre1.8.0_77\bin" но когда вы используете multi-build, например, 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; это систематический способ установки переменной окружения ..

0 голосов
/ 19 апреля 2016

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

0 голосов
/ 08 января 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...