Множество приложений на основе Java требует установить переменную env JAVA_HOME. Какова цель этой переменной?
В чем причина существования переменной среды JAVA_HOME?
Ответ 1
Переменные среды - это строки, содержащие информацию, такую как диск, путь или имя файла.
Переменная среды JAVA_HOME указывает на каталог, в котором среда выполнения Java (JRE) установлена на вашем компьютере.
Ответ 2
Цель состоит в том, чтобы указать, где установлена Java. $JAVA_HOME/bin/java
должен выполнять среду выполнения Java.
Ответ 3
При запуске Java-программы вам нужно сначала запустить JVM, как правило, это выполняется путем запуска исполняемого файла, в Windows это java.exe. Вы можете получить это множеством способов, например, просто передавая полный путь:
C:\somedir\bin\java.exe
или может иметь его на вашей PATH.
В качестве аргументов командной строки указываются некоторые файлы классов или файлы Jar, содержащие файлы классов, которые являются вашей программой. Но этого недостаточно, для самого java.exe нужны различные другие ресурсы, не в последнюю очередь все библиотеки Java. Установив переменную среды JAVA_HOME, вы указываете, где должны быть найдены JRE и, следовательно, все эти ресурсы времени исполнения. Вы должны убедиться, что конкретная Java, которую вы выполняете, соответствует настройке JAVA_HOME.
Вам также может потребоваться поставить JAVA_HOME\bin
на раннем этапе вашего пути, чтобы, если java.exe
порождает копию самого себя (например, для компиляции JSP), она подбирает правильную версию.
Ответ 4
JAVA_HOME
- это переменная среды.
Он должен быть настроен на другую операционную систему. Проверьте следующие ссылки.
Также см. здесь.
Ответ 5
JAVA_HOME
позволяет запускать любую из нескольких установок Java. Даже если у вас сначала есть /usr/lib/jvm/java-1.8.0/bin/java
в вашей переменной PATH, полезно иметь возможность сказать JAVA_HOME=/usr/lib/jvm/java-1.5.0
и иметь стандартную "java", с которой вы запускаете программы, вместо этого используйте другую, в зависимости от настроек среды. Это позволяет программисту использовать необходимую ему Java, даже если она не установлена в обычном системном расположении, и тестировать или обеспечивать обратную совместимость с этой альтернативной версией. И это не уязвимо для сброса в PATH другой установленной программой, такой как обновление основной версии для самой java.
Ответ 6
Согласно @dirai здесь JAVA_HOME
используется не самой Java, а некоторыми сторонними инструментами, такими как, например, Apache Tomcat. Однако большинство приложений будут работать без установки этой переменной, но некоторые могут показывать непредвиденное поведение.
Ответ 7
JAVA_HOME используется для установки среды, которая позволит вам запускать Java-программы на вашем компьютере или ПК после установки JDK (Java Development Kit)