Как установить 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

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

18 ответов

Найти каталог установки JDK

Для начала вам нужно знать путь установки для Java Development Kit.

Откройте путь установки по умолчанию для JDK:

C:\Program Files\Java

Там должен быть подкаталог, как:

C:\Program Files\Java\jdk1.6.0_10

Примечание: нужно только указать путь к jdk без /bin в конце (как это предлагается во многих местах). например C:\Java\jdk1.6.0_31 и НЕ C:\Java\jdk1.6.0_31\bin!


Установите переменную JAVA_HOME

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

  1. Щелкните правой кнопкой мыши значок " Мой компьютер" на рабочем столе и выберите " Свойства".
  2. Перейдите на вкладку " Дополнительно ", затем нажмите кнопку " Переменные среды".
  3. Под Системными Переменными нажмите New.
  4. Введите имя переменной как JAVA_HOME.
  5. Введите значение переменной в качестве пути установки для Java Development Kit.
  6. Нажмите ОК.
  7. Нажмите Применить изменения.

Примечание: вам может потребоваться перезагрузить Windows

Полная статья находится здесь, в моем блоге: Настройка переменной JAVA_HOME в Windows.

Получить видео решение.

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

Вы должны сначала установить JDK в вашей системе.

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

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

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

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

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

Установите JAVA Path под системной переменной

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

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

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

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

echo %JAVA_HOME%

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

echo %PATH%

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

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

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

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

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

-Djava.home=YOUR_PATH_HERE

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

java -Djava.home=PATH SomeJavaApp

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

Для большего

Это официальное решение для настройки среды 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.

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

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

Я вырывал свои волосы, правильно поставив PATH переменные - все еще безрезультатно - и затем только нахождение "освобожденных" записей Java в моем реестре, по-видимому, тупик исправления "пропускающего работу" Java Runtime Environment.

Используя Process Monitor чтобы посмотреть программу, которую я пытался начать, чтобы выяснить, где она ищет в реестре Java (среда выполнения), я с триумфом обнаружил, что она ищет в 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 (вытекающей из реестра).

Windows 7

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

    или же

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

      Начните

    • нажмите на свою фотографию

      clickOnPhoto

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

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

  3. Новый...

    новый

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

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

    редактировать системную переменную ок

Тестовое задание:

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

Нам нужно провести различие между двумя переменными среды, которые обсуждаются здесь взаимозаменяемо. Одним из них является переменная JAVA_HOME. Другой является переменная Path. Любой процесс, который ссылается на переменную JAVA_HOME, ищет путь поиска в JDK, а не в JRE. Использование переменной JAVA_HOME не предназначено для самого компилятора Java. Компилятор знает свое местоположение. Переменная предназначена для другого программного обеспечения, чтобы легче находить компилятор. Эта переменная обычно используется программным обеспечением IDE для компиляции и сборки приложений из исходного кода Java. Напротив, интерпретатор CMD Windows и многие другие программы первого и стороннего производителя ссылаются на переменную Path, а не на переменную JAVA_HOME.

Вариант использования 1: Компиляция из CMD

Так, например, если вы не используете какое-либо программное обеспечение IDE, и вы просто хотите иметь возможность компилировать из CMD, независимо от вашего текущего рабочего каталога, тогда вам нужно правильно установить переменную Path. В вашем случае вам даже не нужна переменная JAVA_HOME. Поскольку CMD использует Path, а не 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 и путь (где это применимо). Если ваша проблема связана с запуском Java-приложений, вы хотите проверить переменную Path.

Переменная пути используется универсально во всех операционных системах. Поскольку он определяется системой, и поскольку это переменная по умолчанию, которая используется для определения местоположения JRE, почти никогда не возникает проблем с запуском Java-приложений. Особенно в Windows, где установщики программного обеспечения обычно все настраивают для вас. Но если вы устанавливаете вручную, самое безопасное - это вообще пропустить переменную JAVA_HOME и просто использовать переменную Path для всего, как для JDK, так и для JRE. Любая последняя версия программного обеспечения IDE должна быть способна подобрать и использовать ее.

Symlinks

Символьные ссылки могут предоставить еще один способ ссылки на путь поиска 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 использует неправильную версию компилятора или она работает волшебным образом, без явного определения (без применения заклинания), то у вас может быть символическая ссылка где-то в переменных среды, Так что вы можете проверить символическую ссылку.

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

В Затмении: Window->Preferences->Java->Installed JREs

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

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

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

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

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

Если вы хотите создать переносимую 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% или вы можете увидеть java_home %java_home%

Вы можете поискать в папке Windows/System32 следующие файлы: - java.exe - javaw.exe - javaws.exe

Поскольку переменная path включает эти файлы, вы можете испытывать головную боль, пытаясь выяснить, почему java -version или javac -version продолжает указывать на старый JAVA_HOME: переименуйте эти файлы, например, удалите расширение с подчеркиванием. И тогда вам нужно будет только создать переменную JAVA_HOME, добавить ее в переменную пути (например, %JAVA_HOME%) и добавить частицу \bin. Таким образом, вам нужно только изменить переменную JAVA_HOME, указывающую на другой JRE или JDK, и иметь несколько установок java, просто установив JAVA_HOME.

Это также означает, что лучше установить Java вручную, без установщика, чтобы вы могли поиграть с ним.

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

Другие вопросы по тегам