2016-02-01 2 views
2

Какой смысл устанавливать переменную окружения JAVA_HOME, когда единственная вещь, которую вы должны установить, - это переменная Path для вызова java из командной строки, которая является основной целью, не так ли?Какой смысл переменной окружения JAVA_HOME

+0

Не было бы большого смысла, если бы это было все, для чего он использовался. Другие программы используют его, хотя 'java' на пути обычно достаточно. –

+0

@PeterLawrey Каковы другие возможности использования этих путей и переменных, кроме как иметь возможность вызывать исполняемый файл из командной строки из любого каталога? –

+0

Некоторые программы используют JAVA_HOME - их сценарий запуска, например. IntelliJ делает. –

ответ

3

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

Вы также можете использовать JAVA_HOME установить переменную PATH, что-то вроде этого ..

%JAVA_HOME%\bin; 

Так что вы не должны вмешиваться в переменной PATH каждый раз, если у вас есть для переключения между двумя JDKs или два JRE разных версий

2

Некоторые приложения требуется JAVA_HOME для выполнения/настоится вместо использования Java исполняемый файл в PATH: TOMCAT, maven, WebLogic, затмение, и т.д ...

Так что это хорошая идея, чтобы иметь эту переменную правильно установить ,

+0

, но об этом мой вопрос: если эти приложения могут видеть java в PATH, в чем смысл? Если JAVA_HOME и PATH указывают на один и тот же исполняемый файл? –

+1

@ShadyProgrammer Что делать, если они этого не делают? Я полагаю, что на моем ноутбуке есть как минимум две установки Java, и что, если я хочу переключиться, какой из них используется, не возившись с $ PATH? –

+0

Хорошо, у меня есть ты :) Спасибо –

1

IMO это unix, где файлы ОС сохраняются. Windows совершенно другая. Но так как Java установлен в файлы Program в Windows, это тоже не имеет смысла.