Я пошел в Переменные среды в 'Система' на панели управления и сделал две новые переменные, одну для пользовательских переменных и одну для системных переменных. Оба были названы 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
Как я могу решить эту проблему?
Ответы:
Найти каталог установки JDK
Для начала вам нужно узнать путь установки Java Development Kit.
Откройте путь установки по умолчанию для JDK:
Там должен быть подкаталог, как:
Установите переменную JAVA_HOME
Когда у вас есть путь установки JDK:
Полная статья находится здесь, в моем блоге: Настройка переменной JAVA_HOME в Windows .
источник
/Java/jre*
это не каталог JDK, это каталог среды выполнения Java. JDK находится в отдельном каталоге, если вы не хотите делать какой-то сумасшедший взломДля меня работало добавление
%JAVA_HOME%\bin
переменной среды Path сJAVA_HOME
переменной среды, указывающей наjdk
папку.источник
Вы должны сначала установить JDK в вашей системе.
Установить Java Home
JAVA_HOME = C: \ Program Files \ Java \ jdk1.7.0 [Расположение вашего установочного каталога JDK]
Когда у вас есть путь установки JDK:
Установите JAVA Path в системную переменную
PATH = C: \ Program Files \ Java \ jdk1.7.0; [Добавить значение с точкой с запятой]
источник
В cmd (временно для этого окна cmd):
источник
setx
онJAVA_HOME
все равно будет установлен после выключения компьютера. Тогда вам не нужно устанавливать его снова. Такжеbin
не нужно.JAVA_HOME
,PATH
иCLASSPATH
, то вы можете иметь «портативную» окружающую среду Java.Вам нужно установить его
C:\Sun\SDK\jdk
(при условии, что именно там установлен JDK - это не значение по умолчанию) - Не вставляйте \ binC:\Sun\SDK\jdk\bin
.Если ваше приложение запускается только после того, как вы вошли в систему как текущий пользователь, поместите его в пользовательские переменные - если оно должно работать для всех пользователей в вашей системе, поместите его в системные переменные.
Вам также может понадобиться добавить
%JAVA_HOME%\bin
к пути (также это зависит от того, запускаете ли вы его только от пользователя или от всех пользователей, включая System)источник
http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html
Панель управления> Java, вкладка Java, нажмите кнопку Вид. В параметрах времени выполнения введите:
Или когда вы выполняете 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 (вытекающей из реестра).
источник
Это официальное решение для настройки среды Java от www.java.com - здесь .
Существуют решения для Windows 7, Windows Vista, Windows XP, Linux / Solaris и других оболочек.
пример
источник
Windows 7
Перейдите в Панель управления \ Все элементы панели управления \ Учетные записи пользователей с помощью Explorer (не Internet Explorer!)
или
нажмите на кнопку Пуск
нажмите на свою фотографию
Изменить мои переменные среды
Новый ...
(если у вас недостаточно прав для его добавления в раздел «Системные переменные», добавьте его в раздел «Пользовательские переменные»)
Добавьте JAVA_HOME в качестве имени переменной и расположение JDK в качестве значения переменной> OK
Тестовое задание:
set JAVA_HOME
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
источник
Нам нужно провести различие между двумя переменными среды, которые обсуждаются здесь взаимозаменяемо. Одним из них является переменная JAVA_HOME . Другой путь переменная . Любой процесс, который ссылается на переменную 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
...источник
java.exe
иjavaw.exe
в системных папках копиями из JRE / JDK, поэтому он все еще должен работать. Если вы устанавливаете его вручную (просто распаковываете архивы), то вам действительно нужно следить за тем, какая копия запускается.Запустите Eclipse от имени администратора.
Это решило мою проблему. Я все еще копаюсь в логике этого.
источник
если вы не перезагрузили компьютер после установки jdk, просто перезагрузите компьютер.
Если вы хотите создать переносимую Java-версию и установить путь перед ее использованием, просто создайте командный файл, который я объяснил ниже.
если вы хотите запустить этот пакетный файл при запуске компьютера, просто поместите ярлык пакетного файла в папку автозагрузки. В папке запуска Windows 7 находится папка «C: \ Users \ user \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup».
создайте командный файл следующим образом:
примечание:
java_home
иpath
являются переменными. Вы можете сделать любую переменную, как вы хотите. например,set amir=good_boy
и вы можете увидеть амир%amir%
или вы можете увидеть java_home по%java_home%
источник
После нескольких часов работы над большинством решений здесь, проблема была решена для меня, просто установив 32-битный JDK.
источник
Вы можете поискать в папке 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 вручную, без установщика, чтобы вы могли поиграть с ним.
источник