Почему JVM работает, когда нет JAVA_HOME? - PullRequest
0 голосов
/ 21 февраля 2019
$ env
...

Когда я пытаюсь напечатать свою оболочку на macOS, я обнаруживаю, что нет JAVA_HOME, но моя JVM все еще работает.

Так что я очень смущен, я просто хочу понять, как JVM находит местоположение JDK, когда оно не указано в оболочке env.

Тогда мое местоположение JDK /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk,если я переместлю эту папку, JVM не будет работать.

Я знаю, что это бесполезно и очень глупо.Но я просто хочу полностью понять, как это работает, пожалуйста, помогите.

1 Ответ

0 голосов
/ 21 февраля 2019

JVM не требует переменной окружения JAVA_HOME.После установки в /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk внутренний каталог bin добавляется в переменную окружения PATH (или используется какой-то другой механизм, например update-alternatives, чтобы поместить исполняемый файл java в систему PATH).

Обычно сторонним инструментам требуется JVM (например, Apache Maven или Tomcat), которые используют переменную окружения JAVA_HOME для поиска установленной JVM.

...