Нам нужно проводить различие между двумя переменными среды, которые здесь взаимозаменяемо обсуждаются. Одна из них - это переменная JAVA_HOME. Другой - это переменная Путь. Любой процесс, который ссылается на переменную JAVA_HOME, ищет путь поиска к JDK, а не к JRE. Использование переменной JAVA_HOME не предназначено для самого компилятора Java. Компилятор знает свое собственное местоположение. Переменная предназначена для другого программного обеспечения, чтобы легче было найти компилятор. Эта переменная обычно используется программным обеспечением IDE для компиляции и сборки приложений из исходного кода Java. В отличие от этого, интерпретатор Windows CMD и многие другие собственные и сторонние программы ссылаются на переменную Path, а не на переменную JAVA_HOME.
Пример использования 1. Компиляция из CMD
Так, например, если вы не используете какое-либо программное обеспечение IDE и просто хотите иметь возможность компилировать из CMD, независимо от вашего текущего рабочего каталога, то вам нужно правильно установить переменную Path. В вашем случае вам даже не нужна переменная JAVA_HOME. Поскольку CMD использует путь, а не JAVA_HOME, чтобы найти компилятор Java.
Вариант использования 2: компиляция из среды IDE
Однако, если вы используете какое-либо программное обеспечение IDE, вам в первую очередь следует обратиться к документации. Может потребоваться установка JAVA_HOME, но также может использоваться другое имя переменной для той же цели. Фактическим стандартом на протяжении многих лет был JAVA_HOME, но это не всегда так.
Вариант использования 3: компиляция из IDE и CMD
Если в дополнение к программному обеспечению IDE вы также хотите иметь возможность компилировать из CMD, независимо от вашего текущего рабочего каталога, то в добавлении к переменной JAVA_HOME вам также может потребоваться добавить путь поиска JDK в переменную Path.
JAVA_HOME против пути
Если ваша проблема связана с компиляцией Java, вы хотите проверить переменную JAVA_HOME и путь (где применимо). Если ваша проблема связана с запуском приложений Java, вы хотите проверить свою переменную Path.
Переменная пути используется повсеместно во всех операционных системах. Поскольку она определяется системой и поскольку это переменная по умолчанию, которая используется для определения местоположения JRE, почти никогда не возникает проблем с запуском приложений Java. Особенно в Windows, где установщики программного обеспечения обычно настраивают все за вас. Но если вы устанавливаете вручную, самым безопасным вариантом будет, возможно, вообще пропустить переменную JAVA_HOME и просто использовать переменную Path для всего, как для JDK, так и для JRE. Любая последняя версия программного обеспечения IDE должна уметь распознавать это и использовать.
Символьные ссылки
Символические ссылки могут предоставить еще один способ ссылаться на путь поиска JDK путем совмещения одной из существующих переменных среды.
Я не уверен в предыдущих версиях выпусков Oracle / Sun JDK / JRE, но, по крайней мере, установщик для jdk1.8.0_74 добавляет путь поиска C:\ProgramData\Oracle\Java\javapath
к переменной Path, и помещает его в начало строкового значения. Этот каталог содержит символические ссылки на java.exe, javaw.exe и javaws.exe в каталоге JRE.
Так что, по крайней мере, с Java 8 JDK и, предположительно, с автономной Java 8 JRE, для JRE не требуется настраивать переменные среды. Пока вы используете пакет установщика для его настройки. Однако в вашей установке Windows могут быть различия. Обратите внимание, что Oracle JRE поставляется вместе с JDK.
Если вы когда-нибудь обнаружите, что ваша конфигурация Java JDK использует неправильную версию компилятора или кажется, что она работает по волшебству, без явного определения (без применения заклинания), тогда у вас может быть символическая ссылка где-то в переменных вашей среды. . Так что вы можете проверить символическую ссылку.
person
Samir
schedule
14.03.2016