Как установить java_home в Windows 7?

Я перешел к «Переменным среды» в «Система» на панели управления и создал две новые переменные: одну для пользовательских переменных, а другую - для системных. Оба были названы 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

Как я могу исправить эту проблему?


person Derek    schedule 12.04.2010    source источник
comment
Вы закрыли cmd и снова открыли? Также похоже, что вы указали на JRE, а не на JDK. Вы установили JDK?   -  person anger    schedule 12.04.2010
comment
Я определенно установил JDK, и он находится в C: \ Sun \ SDK \ jdk \ bin, для которого я установил java_home.   -  person Derek    schedule 12.04.2010
comment
Я даже перезапускал ......... несколько раз с тех пор ........   -  person Derek    schedule 12.04.2010
comment
Тем не менее, похоже, что он смотрит в C: \ Program Files \ Java \ jre6 \ lib \ c. Можете ли вы сделать echo% JAVA_HOME% в командной строке и посмотреть, что он сообщает   -  person anger    schedule 12.04.2010
comment
в командной строке, когда я запустил echo% JAVA_HOME%, он вернул: C: \ Users \ Derek \ Desktop \ eclipse \ eclipse \ glassfish ›echo% JAVA_HOME% C: \ Sun \ SDK \ jdk \ bin   -  person Derek    schedule 12.04.2010
comment
В каком контексте вы запускаете cmd.exe?   -  person anger    schedule 12.04.2010
comment
Решение: опустить / bin   -  person IceFire    schedule 20.07.2014


Ответы (18)


Найдите каталог установки 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.

person Robs    schedule 29.06.2011
comment
Благодарю. наконец, я понял, что в конце нужно только указать путь к jdk без / bin (как предлагалось во многих местах). например C: \ Java \ jdk1.6.0_31, а НЕ C: \ Java \ jdk1.6.0_31 \ bin! - person salocinx; 21.03.2012
comment
Не дай бог был установщик, который проделал этот шаг за вас :) Я только что переключился с версии Enterprise на версию Community и был убежден, что скачал не ту вещь, потому что это была версия Enterprise одним щелчком мыши: p - person John Humphreys; 26.04.2012
comment
Иногда системные изменения не вступают в силу, пока вы не перезапустите окна. - person Andy; 30.05.2013
comment
Более быстрый способ - нажать «Пуск», а затем начать вводить переменные среды. - person Casebash; 18.06.2013
comment
Правильно, но открытие переменных среды с помощью метода, указанного в ответе, откроет настройки с правами администратора, тогда как открытие его из меню «Пуск» не позволит вам добавлять новые или редактировать текущие «Системные переменные». - person benallansmith; 02.12.2013
comment
/Java/jre* не является каталогом JDK, это каталог Java Runtime Enviroment. JDK находится в отдельном каталоге, если вы не хотите взломать - person ericn; 13.12.2013
comment
Другая распространенная ошибка состоит в том, что люди, которые не знают, для чего используются переменные среды, обычно ставят точку с запятой в конце JAVA_HOME.. Это фактически делает их недействительными при использовании в сочетании с такими выражениями, как %JAVA_HOME%\bin. Не используйте точки с запятой в переменных среды, если это не нужно! - person not2qubit; 25.02.2014
comment
Инструкции не соответствуют Windows 7 конкретно (в исходном вопросе) ... Инструкции по Win 7 можно найти в другом ответе (в настоящее время с меньшим количеством голосов). Тем не менее, полезны замечания о расположении JRE и JDK. - person wioota; 13.07.2014
comment
Даже если вы добавили переменную JAVA_HOME, просто убедитесь, что ваш PATH имеет ту же ссылку. В моем случае у меня был отдельный путь JAVA в JAVA_HOME и PATH. Уф! - person Dipin Krishnan; 26.07.2016

Что сработало для меня, так это добавление %JAVA_HOME%\bin в переменную среды Path с переменной среды JAVA_HOME, указывающей на папку jdk.

person fogedi    schedule 11.06.2010

Сначала необходимо установить JDK в вашей системе.

Установить Java Home

JAVA_HOME = C: \ Program Files \ Java \ jdk1.7.0 [Расположение каталога установки JDK]

Когда у вас есть путь установки JDK:

  • Щелкните правой кнопкой мыши значок «Мой компьютер» на
  • Выберите "Свойства".
  • Перейдите на вкладку Расширенные настройки системы в левой части экрана.
  • Всплывающее окно Aadvance открыто.
  • Нажмите кнопку «Переменные среды».

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

  • В разделе «Системные переменные» нажмите «Создать».
  • Введите имя переменной как JAVA_HOME.
  • Введите значение переменной в качестве пути установки Java Development Kit.
  • Щелкните ОК.
  • Щелкните Применить изменения.

Установите путь JAVA в системной переменной

ПУТЬ = C: \ Program Files \ Java \ jdk1.7.0; [Добавить значение с точкой с запятой]

проверьте здесь

person Ankit jain    schedule 17.06.2013
comment
Должен ли JAVA_HOME содержать \ bin? Другие ответы здесь, похоже, предполагают, что bin должен быть включен для PATH, но не для JAVA_HOME. - person devuxer; 02.10.2013
comment
JAVA_HOME НЕ должен содержать \ bin. - person Larry Silverman; 22.11.2013
comment
[PLUS ONE] Прекрасные цветы! - person GingerHead; 31.03.2017
comment
Но в Image вы вводите \ bin. - person Naveen DA; 09.11.2017

В cmd (временно для этого окна cmd):

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

echo %JAVA_HOME%

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

echo %PATH%
person Stéphane GRILLON    schedule 02.04.2015
comment
Правда. Если вы используете setx, то JAVA_HOME все равно будет установлен после того, как вы выключите компьютер. Тогда вам не нужно устанавливать его заново. Также bin не нужен. - person Tenzin; 29.07.2015
comment
Да, но если вы не хотите официально устанавливать Java, то, как сказал sgrillon, вы можете временно установить ее для этого экземпляра. А еще лучше создать командный файл, который вы можете запустить, чтобы открыть окно командной строки и установить JAVA_HOME, PATH и CLASSPATH, тогда у вас может быть «переносимая» среда Java. - person Synetech; 11.12.2015
comment
Это правда, но они не нужны для установки адреса JAVA_HOME - person Aboozar Rajabi; 04.08.2016
comment
@Aboozar Rajabi, вам нужно, чтобы если ... путь содержал пробел. - person Stéphane GRILLON; 22.08.2016

Вам нужно установить его на C:\Sun\SDK\jdk (Предполагая, что именно там установлен JDK - это не по умолчанию) - Не помещайте \ bin в C:\Sun\SDK\jdk\bin.

Если ваше приложение запускается только тогда, когда вы вошли в систему как текущий пользователь, поместите его в пользовательские переменные. Если оно должно запускаться для всех пользователей вашей системы, поместите его в Системные переменные.

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

person Romain Hippeau    schedule 12.04.2010

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

Панель управления> Java, вкладка Java, нажмите кнопку «Просмотр». В параметрах выполнения поставьте:

-Djava.home=YOUR_PATH_HERE

Или, когда вы запускаете Java, вы можете добавить этот переключатель командной строки к команде:

java -Djava.home=PATH SomeJavaApp
person Ricket    schedule 12.04.2010
comment
Эта панель управления, похоже, применима только к коммерческой версии Java. Не для версии GPL. - person Thomas Weller; 29.05.2019

Одно изображение может решить эту проблему. введите описание изображения здесь

Подробнее < / а>

person KarSho    schedule 05.02.2016

Для тех, кто все еще не понимает этой проблемы (я пробовал все вышеперечисленные предложения) -

Если вы используете 64-разрядную версию Windows и установили 32-разрядный JDK, помимо настройки PATH переменных, вам может потребоваться также настроить переменные реестра.

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

Используя 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 (происходящую из реестра).

person Coldblackice    schedule 26.06.2013
comment
Я на 64-битной машине с Windows 7, и у меня есть оба: C: \ Program Files (x86) \ Java \ и C: \ Program Files \ Java \ Теперь мой вопрос в том, на какой из них должен указывать мой java_home? - person voidMainReturn; 28.08.2013
comment
Интересно; У меня есть только папка Java под папкой x86. - person B. Clay Shannon; 27.03.2014
comment
В C: \ Program Files (x86) \ Java \ jdk1.7.0_25 \ jre \ bin у меня нет клиента каталога, он существует только в C: \ Program Files (x86) \ Java \ jre7 \ bin. Что я должен делать? - person Michael Cera; 22.09.2014
comment
В 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, теперь Java-профайлер YourKit (profiler.exe) работает без ошибок: Произошла ошибка при запуске C: \ Program Files \ Java \ jdk1.8.0_74 \ bin \ javaw.exe . - person David; 19.01.2017

Это официальное решение для настройки среды Java с сайта www.java. .com - здесь.

Есть решения для Windows 7, Windows Vista, Windows XP, Linux / Solaris и других оболочек.


Пример

Windows 7

  1. В меню «Пуск» выберите «Компьютер».
  2. В контекстном меню выберите Свойства системы.
  3. Щелкните Дополнительные параметры системы -> вкладка Дополнительно.
  4. Щелкните Переменные среды в разделе Системные переменные, найдите ПУТЬ и щелкните по нему.
  5. В окнах редактирования измените PATH, добавив расположение класса к значению PATH. Если у вас нет элемента PATH, вы можете добавить новую переменную и добавить PATH в качестве имени и местоположения класса в качестве значения.
  6. Снова откройте окно командной строки и запустите свой Java-код.
person HATCHA    schedule 17.08.2012
comment
Официальные инструкции бесполезны. Они дают только общие инструкции о том, как установить переменные среды, а не указывают значение, которое необходимо установить. Они просто говорят установить его на «местонахождение класса», что сбивает с толку и бессмысленно. - person Synetech; 11.12.2015
comment
Эти инструкции не устанавливают JAVA_HOME, переменную, полностью отделенную от PATH, которая требуется для некоторых программ. - person Jules; 31.03.2017

Windows 7

  1. Перейдите в Панель управления \ Все элементы панели управления \ Учетные записи пользователей с помощью проводника (не Internet Explorer!)

    or

    • нажмите на кнопку Пуск

      start

    • нажмите на свою картинку

      clickOnPhoto

  2. Изменить мои переменные среды

    Изменить мои переменные среды

  3. Новое ...

    новый

    (если у вас недостаточно прав для добавления его в раздел Системные переменные, добавьте его в раздел Пользовательские переменные)

  4. Добавьте JAVA_HOME в качестве имени переменной и расположение JDK в качестве значения переменной> ОК

    изменить системную переменную ОК

Тест:

  • откройте новую консоль (cmd)
  • type set JAVA_HOME
    • expected output: JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
person Elrond_EGLDer    schedule 15.01.2016

Нам нужно проводить различие между двумя переменными среды, которые здесь взаимозаменяемо обсуждаются. Одна из них - это переменная 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

перейти на Мой компьютер (этот компьютер) -> щелкните правой кнопкой мыши -> выберите свойства -> Дополнительные настройки системы -> переменные среды -> в системных переменных нажмите кнопку «Создать» и напишите 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"

person daemonThread    schedule 07.01.2018

В Eclipse: Window->Preferences->Java->Installed JREs

Используйте функцию поиска, чтобы убедиться, что в списке есть ваша последняя установка Java; затем убедитесь, что это тот, который отмечен. Это должен быть JDK, а не JRE.

person Berg    schedule 08.05.2011
comment
Эти инструкции не устанавливают JAVA_HOME, который не имеет отношения к eclipse. - person Jules; 31.03.2017

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

person user2414128    schedule 23.05.2013
comment
Когда / если вы устанавливаете Java с помощью установщика, он заменяет копии java.exe и javaw.exe в системных папках копиями из JRE / JDK, поэтому он все равно должен работать. Если вы установите его вручную (просто распакуйте архивы), вам действительно придется следить за тем, какая копия запускается. - person Synetech; 11.12.2015
comment
Эти инструкции не устанавливают JAVA_HOME, переменную, полностью отделенную от PATH, которая требуется для некоторых программ. - person Jules; 31.03.2017

Запустите Eclipse от имени администратора.

Это решило мою проблему. Я все еще пытаюсь понять логику этого.

person muscailie    schedule 12.08.2010
comment
Я не могу сказать, что понимаю это точно, но, возможно, eclipse на самом деле просто выдает неправильное сообщение об ошибке. Когда вы запускаете его как не администратор, он не может удалить файлы .jar или что-то еще, а затем ложно сообщает, что не нашел javac. Во всяком случае, это решение сработало и для меня. - person Jess; 16.06.2011
comment
если вы используете Eclipse на сервере Windows 2012 R2, как и в моем случае, у меня работает eclipse от имени администратора. Не забудьте также установить java_home в папку программных файлов, а не в папку программ (86) файлов. Надеюсь, это кому-то поможет. - person ombiro; 20.07.2015

Если вы не перезагрузили компьютер после установки jdk, просто перезагрузите компьютер.

если вы хотите создать переносимый Java-файл и установить путь перед использованием Java-Java, просто создайте пакетный файл, как я объяснил ниже.

Если вы хотите запустить этот командный файл при запуске компьютера, просто поместите ярлык командного файла в папку автозагрузки. В папке автозагрузки Windows 7 находится "C: \ Users \ user \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup"

сделайте такой командный файл:

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%

person Amir    schedule 07.03.2016

После нескольких часов работы над большинством представленных здесь решений проблема была решена для меня, просто установив 32-битный JDK.

person Vahid Ghadiri    schedule 16.07.2013
comment
Это нормально, если вы этого хотите, но некоторые люди предпочитают не устанавливать Java, а просто настраивать «переносимую» среду вручную, и в этом случае вам нужно знать, какие переменные среды необходимо установить. - person Synetech; 11.12.2015

Вы можете найти в папке 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 лучше устанавливать вручную, без установщика, так что вы можете поиграть с ней.

person Camilo    schedule 27.02.2019