Нам потрібно зробити відмінність між двома змінними середовища, про які тут йдеться взаємозамінно. Один - це змінна JAVA_HOME . Інша - змінна Path . Будь-який процес, що посилається на змінну 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 vs. Path
Якщо ваша проблема стосується компіляції Java, ви хочете перевірити змінну JAVA_HOME і Path (де це можливо). Якщо ваша проблема стосується запуску 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 використовує неправильну версію компілятора, або вона працює за допомогою магії, не чітко визначена таким чином (без викидання заклинання), то, можливо, у вас є десь у змінних оточення . Тому ви, можливо, захочете перевірити наявність посилання.