Як встановити java_home в Windows 7?


422

Я зайшов до змінних оточуючого середовища у «Системі» на панелі керування та зробив дві нові змінні, одну для змінних користувачів та одну для системних змінних. Обидва були названі JAVA_HOME і обидва вказували на

C: \ Sun \ SDK \ jdk \ bin

Але чомусь я все-таки отримую нижчу помилку під час виконання команди Java ...

BUILD FAILED
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:161: The following error  occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:137: Please set java.home to a JDK installation

Total time: 1 second
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: setup.xml

Як я можу виправити цю проблему?


3
Ви закрили cmd і знову відкрили його? Крім того, схоже, що ви вказали на JRE, а не на JDK. Ви встановили JDK?
гнів

Я напевно встановив JDK, і він розташований у C: \ Sun \ SDK \ jdk \ bin, якому я встановив java_home.
Дерек

Я навіть перезапустив ......... кілька разів з моменту ........
Дерек

І все-таки це здається, що ви шукаєте в C: \ Program Files \ Java \ jre6 \ lib \ c Чи можете ви зробити echo% JAVA_HOME% у своєму командному рядку та побачити, про що він повідомляє
гнів

3
Рішення таке: Опустіть / бен
IceFire

Відповіді:


673

Знайдіть каталог встановлення JDK

Спочатку потрібно знати шлях встановлення Java Development Kit.

Відкрийте шлях установки JDK за замовчуванням:

C:\Program Files\Java

Має бути такий підкаталог, як:

C:\Program Files\Java\jdk1.8.0_172

Примітка: слід лише покласти в кінці шлях до jdk без / bin (як це пропонується у багатьох місцях). наприклад C: \ Java \ jdk1.8.0_172, а НЕ C: \ Java \ jdk1.8.0_172 \ bin!


Встановіть змінну JAVA_HOME

Отримавши шлях встановлення JDK:

  1. Клацніть правою кнопкою миші значок « Мій комп'ютер» на робочому столі та виберіть Властивості .
  2. Перейдіть на вкладку Додатково , а потім на кнопку Змінні середовища .
  3. Під Системні змінні натисніть кнопку Створити.
  4. Введіть ім'я змінної як JAVA_HOME .
  5. Введіть значення змінної як шлях встановлення для Java Development Kit.
  6. Натисніть кнопку ОК .
  7. Клацніть Застосувати зміни .

Примітка. Можливо, вам доведеться перезапустити Windows

Повна стаття тут, у моєму блозі: Налаштування змінної JAVA_HOME у Windows .


121
Дякую. нарешті я зрозумів, що треба лише поставити шлях до jdk без / bin врешті-решт (як це пропонується у багатьох місцях). наприклад C: \ Java \ jdk1.6.0_31, а НЕ C: \ Java \ jdk1.6.0_31 \ bin!
салоцинкс

24
Не дай Бог, був інсталятор, який зробив для вас цей крок :) Я просто перейшов з версії Enterprise на версію спільноти і переконався, що скачав неправильну річ, оскільки це був один клік на версії Enterprise: p
Джон Хамфріс - w00te

6
Іноді зміни змінної системи не набувають чинності, поки ви не перезапустите вікна.
Енді

11
Більш швидкий метод - натиснути "Пуск", а потім почати вводити змінні середовища
Casebash

4
/Java/jre*- це не каталог JDK, це директива Java Runtime Enviroment. JDK знаходиться в окремому каталозі, якщо ви не хочете зробити якийсь божевільний злом
ericn

157

Для мене працювало додавання %JAVA_HOME%\binзмінної середовища Path із JAVA_HOMEзмінною оточення, що вказує на jdkпапку.


126

Спочатку потрібно встановити JDK у вашій системі.

Встановити Java Home

JAVA_HOME = C: \ програмні файли \ Java \ jdk1.7.0 [Розташування вашого каталогу встановлення JDK]

Отримавши шлях встановлення JDK:

  • Клацніть правою кнопкою миші піктограму Мій комп'ютер
  • Виберіть Властивості.
  • Перейдіть на вкладку «Розширені налаштування системи» зліва на екрані
  • Aadvance Popup відкритий.
  • Натисніть кнопку "Змінні середовища".

введіть тут опис зображення

  • У розділі Системні змінні натисніть кнопку Створити.
  • Введіть ім'я змінної як JAVA_HOME.
  • Введіть значення змінної як шлях встановлення для Java Development Kit.
  • Натисніть кнопку ОК.
  • Клацніть Застосувати зміни.

Встановіть шлях JAVA під системну змінну

PATH = C: \ програмні файли \ Java \ jdk1.7.0; [Додайте значення з комою]

перевірити тут


14
Чи повинен JAVA_HOME містити "\ bin"? Інші відповіді тут, мабуть, говорять про те, що "смітник" повинен бути включений для PATH, але не для JAVA_HOME.
devuxer

72
JAVA_HOME НЕ повинен містити \ bin.
Ларрі Сільверман

5
[ПЛЮС ОДИН] Приємні квіти!
GingerHead

Але на Image ви вводите з \ bin.
NaveenDA

32

У cmd (тимчасово для цього вікна cmd):

set JAVA_HOME="C:\\....\java\jdk1.x.y_zz"

echo %JAVA_HOME%

set PATH=%PATH%;%JAVA_HOME%\bin

echo %PATH%

2
Правда. Якщо ви користуєтесь, setxто JAVA_HOMEзамовчування все одно буде встановлено після вимкнення комп'ютера. Тоді вам не доведеться встановлювати його знову. Також binне потрібен.
Тензін

Так, але якщо ви не хочете офіційно встановлювати Java, то, як сказав sgrillon, ви можете встановити її тимчасово для цього примірника. А ще краще, створити пакетний файл , який можна запустити , щоб відкрити вікно командного рядка і набір JAVA_HOME, PATHі CLASSPATH, то ви можете мати «портативну» навколишнє середовище Java.
Synetech

Це правда, але "" не потрібно для встановлення адреси JAVA_HOME
Aboozar Rajabi

1
@Aboozar Rajabi, тобі потрібен шлях "", якщо ... містить пробіл.
sgrillon

19

Вам потрібно встановити його C:\Sun\SDK\jdk(якщо припустимо, що там встановлено JDK - Це не за замовчуванням) - Не ставте \ bin уC:\Sun\SDK\jdk\bin .

Якщо ваш додаток працює лише тоді, коли ви ввійшли в систему як поточний користувач, тоді покладіть його в користувацькі змінні. Якщо його потрібно запустити для всіх користувачів вашої системи, тоді поставте його в системні змінні.

Вам також може знадобитися додати %JAVA_HOME%\binдо контуру (Також це залежить від того, запускаєте його лише від користувача або від усіх користувачів, включаючи Систему)


17

http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html

Панель управління> Java, вкладка Java, натисніть кнопку Вид. У параметри виконання виберіть:

-Djava.home=YOUR_PATH_HERE

Або при виконанні Java ви можете додати цей командний перемикач до команди:

java -Djava.home=PATH SomeJavaApp

Здається, що ця панель керування застосовується лише для комерційної версії Java. Не для версії GPL
Томас Веллер


7

Для тих, хто досі стикається з цією проблемою (я спробував усі вищевикладені пропозиції) -

Якщо ви користуєтеся 64-розрядною версією Windows та встановили 32-бітний JDK, окрім коригування PATH змінних, можливо, знадобиться налаштувати реєстр змінних .

Я витягнув волосся, правильно встановивши свої PATHзмінні - все ще безрезультатно - і тоді лише знайшов «звільнені» записи Java у моєму реєстрі, здавалося б, складною мірою виправлення «помилкового» середовища виконання програми Java Runtime.

Використовуючи Process Monitorдля перегляду програми, з якою я намагався почати роботу, щоб обнюхати, де вона шукає в реєстрі для Java (Runtime Environment), я тріумфально виявив, що вона шукає в 32-бітному версію записів реєстру, знайдену в HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\JavaSoft\Java Runtime Environment.

У цьому ключі слід знайти встановлені підрозділи різних версій Java (минулих та / або теперішніх). Клацніть підрозділ останньої версії (наприклад, мій підрозділ наразі 1.7.0_25). Після натискання на цей підрозділ ви побачите значення рядка реєстру, вказані праворуч, зокрема, JavaHomeі RuntimeLib. Вам потрібно змінити значення цих двох значень для відображення обох значень струму папку, так і файл jvm.dll відповідно.

Наприклад, у моєму випадку значення (попередньо) були встановлені відповідно у C:\Program Files (x86)\Java\jre7і не C:\Program Files (x86)\Java\jre7\bin\client\jvm.dllіснують на моїй машині. Мені довелося оновити їх до поточної папки та файлу C:\Program Files (x86)\Java\jdk1.7.0_25\jreта C:\Program Files (x86)\Java\jdk1.7.0_25\jre\bin\client\jvm.dll.

Знову ж таки, це буде повністю залежати як від того, яку версію Java (JDK та / або JRE) ви встановили - 32 чи 64-бітну - та який тип операційної системи ви використовуєте - 32 чи 64-бітну. Просто знайте, що вони відображаються в різних місцях реєстру (наприклад, Wow6432Nodeдля 32-бітних програм, у моєму випадку з 32-розрядним JDK, встановленим на 64-бітній машині).

Тепер, коли я оновив ці два значення реєстру, моя програма працює бездоганно, без жодних хитів та скарг щодо відсутнього середовища виконання програми Java (що випливає з реєстру).


1
Я перебуваю на 64-бітній машині Windows 7, і у мене є обидва: C: \ Program Files (x86) \ Java \ і C: \ Program Files \ Java \ Тепер моє питання полягає в тому, на який слід вказувати мій java_home?
voidMainReturn

Цікаво; У мене тільки папка Java під папкою x86.
Б. Клей Шеннон

У розділі C: \ Program Files (x86) \ Java \ jdk1.7.0_25 \ jre \ bin У мене немає клієнтського каталогу, він існує лише під C: \ Program Files (x86) \ Java \ jre7 \ bin. Що я повинен зробити?
Pavol Havlik

У Windows 7 після пошуку ключового слова "1.8.0_74" я знайшов кілька реєстрів за допомогою regedit у HKEY_LOCAL_MACHINE / SOFTWARE / JavaSoft / Java Development Kit / 1.8.0_74 / або ../1.8.0_65 та всіх інших, встановлених раніше ... Після видалення одного за одним реєстру знизу до моєї останньої встановленої версії java 1.8.0_112, тепер YourKit java profiler (profiler.exe) працює без помилок: "Виникла помилка під час запуску C: \ Program Files \ Java \ jdk1.8.0_74 \ bin \ javaw.exe ".
Давид

7

Це офіційне рішення для налаштування середовища Java з www.java.com - тут .

Існують рішення для Windows 7, Windows Vista, Windows XP, Linux / Solaris та інших оболонок.


Приклад

Windows 7

  1. Виберіть Комп'ютер у меню "Пуск"
  2. У контекстному меню виберіть "Властивості системи"
  3. Натисніть Додаткові параметри системи -> вкладка Додаткові
  4. Клацніть на Змінні середовища, у розділі Системні змінні знайдіть PATH та натисніть на нього.
  5. У вікнах Редагування змініть PATH, додавши розташування класу до значення для PATH. Якщо у вас немає елемента PATH, ви можете вибрати нову змінну та додати PATH як ім'я та розташування класу як значення.
  6. Повторно відкрийте вікно командного рядка та запустіть свій код Java.

1
Офіційні інструкції марні. Вони дають лише загальні вказівки щодо встановлення змінних середовища, а не вказують значення, яке потрібно встановити. Вони просто кажуть встановити його на "місце розташування класу", що заплутано і безглуздо.
Synetech

Ці інструкції не встановлюють JAVA_HOME, абсолютно окрему змінну від PATH, необхідну для деяких програм.
Жуль

6

Windows 7

  1. Перейдіть до Панелі управління \ Усі елементи Панелі керування \ Облікові записи користувачів за допомогою Провідника (не Internet Explorer!)

    або

    • натисніть кнопку «Пуск»

      почати

    • натисніть на ваше зображення

      clickOnPhoto

  2. Змінити мої змінні середовища

    Змінити мої змінні середовища

  3. Новий ...

    нові

    (якщо у вас недостатньо дозволів, щоб додати його в розділі Системні змінні, додайте його до розділу Змінні користувача)

  4. Додайте JAVA_HOME як ім'я змінної, а місце JDK - як значення змінної> ОК

    редагувати змінну системи в порядку

Тест:

  • відкрити нове консоль (cmd)
  • тип set JAVA_HOME
    • очікуваний вихід: JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60

6

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


5

goto Мікрокомп'ютер (Цей ПК) -> клацніть правою кнопкою миші -> виберіть властивості -> Розширені налаштування системи -> змінні середовища-> у системних змінних натисніть кнопку " Створити " та напишіть JAVA_HOME у назві змінної та шляху C: \ Program Files \ Java \ jdk1. 8.0_131 були jdk при змінному значенні-> клацніть ОК.

після встановлення JAVA_HOME закрийте та знову відкрийте командний рядок. Іноді зміни не відображаються у cmd, відкритому перед встановленням JAVA_HOME.

ви також можете встановити JAVA_HOME через сам термінал: SET JAVA_HOME = "C: \ Program Files (x86) \ Java \ jdk1.8.0_131"


4

У затемненні: Window->Preferences->Java->Installed JREs

Використовуйте функцію пошуку, щоб переконатися, що ваша остання установка Java перелічена; тоді переконайтесь, що це те, що перевіряється. Це має бути JDK, а не JRE.


Ці інструкції не встановлюють JAVA_HOME, що не пов’язано із затемненням.
Жуль

4

Додаючи до своєї PATHзмінної каталог каталогу Java , можливо, ви захочете поставити його прямо на початку. У мене виникла проблема, що введення каталогу Java в кінці цього пункту PATHне буде працювати. Після перевірки я знайшов java.exeу своєму Windows\System32каталозі, і схоже, що перший виграє, коли у вашому файлі є кілька файлів з однаковою назвою PATH...


Коли / якщо ви встановите Java разом із інсталятором, вона замінить копії java.exeта javaw.exeв системних папках копіями з JRE / JDK, тому вона все одно повинна працювати. Якщо ви встановите його вручну (просто розпакуйте архіви), то вам дійсно доведеться стежити за тим, яка копія виконується.
Synetech

Ці інструкції не встановлюють JAVA_HOME, абсолютно окрему змінну від PATH, необхідну для деяких програм.
Жуль

3

Запустіть Eclipse як адміністратор.

Це вирішило мою проблему. Я все ще копаюся за логікою, що стоїть за нею.


1
Не можу сказати, що я це точно розумію, але, можливо, затемнення насправді просто дає неправильне повідомлення про помилку. Якщо ви запускаєте його як не адміністратор, він не може видалити .jar файли чи щось, а потім помилково повідомляє, що не знайшов javac. У всякому разі, це рішення спрацювало і для мене.
Джесс

якщо ви запускаєте Eclipse на сервері Windows Server 2012 R2, як у моєму випадку, запуск eclipse як адміністратор працює для мене. Не забудьте також встановити java_home у папку програмних файлів, а не в папку файлів програм (86). Сподіваюся, що це комусь допоможе.
ombiro

2

якщо ви не перезапустили комп'ютер після встановлення jdk, просто перезавантажте комп'ютер.

якщо ви хочете зробити портативний Java і встановити шлях перед використанням Java, просто зробіть пакетний файл, який я пояснив нижче.

якщо ви хочете запустити цей пакетний файл, коли комп'ютер запуститься, просто покладіть ярлик пакетного файлу в папку запуску. У папці запуску Windows 7 "C: \ Користувачі \ користувач \ AppData \ Роумінг \ Microsoft \ Windows \ Меню" Пуск "\ Програми \ Запуск"

зробити такий пакетний файл:

set Java_Home=C:\Program Files\Java\jdk1.8.0_11
set PATH=%PATH%;C:\Program Files\Java\jdk1.8.0_11\bin

Примітка: java_homeі pathє змінними. ви можете зробити будь-яку змінну за своїм бажанням. наприклад, set amir=good_boyі ви можете бачити amir від %amir%або ви можете бачити java_home від%java_home%


0

Після години роботи навколо більшості рішень тут проблема була вирішена для мене просто встановленням 32-розрядного JDK.


1
Що добре, якщо це те, що ви хочете, але деякі люди вважають за краще не встановлювати Java, а просто встановлювати «портативне» середовище вручну, і в цьому випадку вам потрібно знати, які змінні середовища потрібно встановити.
Synetech

0

Ви можете переглянути папку Windows / System32 для таких файлів: - java.exe - javaw.exe - javaws.exe

Тому що змінна конвеєра включає ці файли, ви можете отримати головний біль, намагаючись з'ясувати, чому java -version або javac -version продовжує вказувати на старий JAVA_HOME: перейменуйте ці файли, вийміть розширення, наприклад, підкресленням. І тоді вам потрібно буде лише створити змінну JAVA_HOME, додати її до змінної шляху (наприклад,% JAVA_HOME%) та додати частину "\ bin". Таким чином, вам потрібно лише змінити змінну JAVA_HOME, що вказує на різні JRE або JDK, і мати кілька установок Java лише встановивши JAVA_HOME.

Це також означає, що краще встановлювати Java вручну, без інсталятора, так що ви можете з нею грати.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.