Ошибка раздела реестра: версия Java имеет значение "1.8", но требуется " 1.7
во время работы
sencha app build production
Я получаю следующую ошибку:
ошибка: раздел реестра " SoftwareJavaSoftJava Runtime Среды'CurrentVersion И'
имеет значение '1.8', но '1.7' требуется. Ошибка: не удалось найти java.файл DLL Ошибка: не удалось найти среду выполнения Java SE.
java -version
команда показывает следующее:
версия java " 1.8.0_40" Java (TM) SE среда выполнения (сборка 1.8.0_40-b26) Java HotSpot (TM) 64-битный сервер VM (сборка 25.40-b25, смешанный режим)
не удалось найти, где путь идет неправильно. Есть идеи?
----------------------- изменить ------------------------------------------------
Примечание: я использую Windows 7 (64 бит).
Я попытался удалить sencha touch cmd и переустановить. Но все та же ошибка.
Я удалил все экземпляры версии java и переустановил последний, все еще проблема сохраняется.
24 ответов
после попытки более сотни трюков, наконец, получил успех.
Я удалил все java.exe
, javaw.exe
и javaws.exe
от меня
Windows\System32
иWindows\SysWOW64
папка. [Попробуйте Шаг 2, Если у вас есть система x64 (Win 7 64 бит)]
в моем случае (Windows 7 64-разрядная), я просто сделал следующее:
- удалена ссылка на C:\ProgramData\Oracle\Java\javapath; С путь переменные среды
- удалены файлы java, javaw, который и javaws С C:\Windows\System32 папку
после этого я закрыл все открытые консоли командной строки, снова открыл их и запустил java -версия.
- открываем regedit
- на
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
- изменить значение
CurrentVersion
от "1.8"до " 1.7"
re: пользователи Windows
нет. Не удаляйте ссылку среды Javapath из переменной PATH.
причина, по которой реестр не работал, заключается в том, что сценарий Oracle Javapath должен выполняться в последовательности путей перед каталогами JRE & JDK - он будет сортировать текущую версию:
поместите этот каталог во главе вашего %PATH%
переменной:
C:\ProgramData\Oracle\Java\javapath
[или где он находится на вашем рабочем столе]
так что ваш путь будет посмотрите что - то вроде этого-мое, например
PATH=C:\ProgramData\Oracle\Java\javapath;<other path directories>;E:\Program Files\Java\jdk1.8.0_77\bin;E:\Program Files\Java\jre1.8.0_77\bin
вы увидите правильную, текущую версию:
C:\>java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
мой опыт:
Я использую windows 8.1 и я понизил версию JAVA с 1.8 до 1.7, и я получал ту же ошибку.
ошибка: раздел реестра "Software\JavaSoft\Ja имеет значение "1.7", но " 1.8 " требуется.
Я удалил java.exe, javaw, который.exe и javaws.exС C:\Windows\System32 папка, и это сработало для меня.
у меня была такая же проблема. Простое решение, которое сработало для меня, - это переставить записи в PATH
на JRE/JDK
. Эта проблема начала появляться после установки JRE 8
чья установка поместила некоторые исполняемые файлы в System32 or SysWOW64
- каталоги, эти исполняемые файлы испортил. Для решения проблемы:
-
создать переменную среды, указывающую на JDK home как
JAVA_HOME
.set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_45
-
поставить запись
%JAVA_HOME%\bin
при запуске в переменной среды PATH. Добавление существующего значенияPATH
. Например:path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%
Я не удалял ни одного java.exe-файлы, но изменил порядок моей системы-переменная "path" - так, чтобы она отражала %JAVA_HOME%\bin в качестве первой записи. Это помогло.
Что касается меня на win7 64bit.
скопируйте java.EXE-файл javaw, который.exe javaws.exe в папке C:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.
и затем откройте cmd, введите java-version.
C:\Users\HEcom>java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
перед вышеизложенным убедитесь, что CurrentVersion реестра 1.8
в меню Пуск введите "regedit", чтобы открыть редактор реестра
- перейдите в раздел "HKEY_LOCAL_MACHINE" в левом реестре проводник / дерево меню
- нажмите "программное обеспечение" в "Раздел HKEY_LOCAL_MACHINE" реестры
- нажмите " JavaSoft "в реестре" программное обеспечение"
- нажмите "среда выполнения Java "в списке" JavaSoft" реестры здесь вы можете увидеть различные версии установленной java
- нажмите "Java Runtime Environment" - справа вы получите 4-5 строк . Пожалуйста, выберите "CurrentVersion" и щелкните правой кнопкой мыши( выберите изменить вариант) убедитесь, что версия "1.8"
мое решение этой проблемы пришло после прочтения и пытается все выше.
в моем случае я попытался понизить Java, чтобы использовать распечатки в Apache ActiveMQ
. После удаления всех версий Java и очистки реестра я получал ту же ошибку
ошибка: раздел реестра 'Software\JavaSoft\Java Runtime Environment '\CurrentVersion' имеет значение "1.7", но требуется "1.8"."
в моем случае мне нужно было перейти к переменным среды, отредактируйте путь, откройте местоположение javapath (C:\ProgramData\Oracle\Java\javapath
) и там было - три файла (java.exe
, javaw.exe
, javaws.exe
), который остался от версии JRE8.
после установления этого факта я просто переключил их с теми же файлами из C:\Windows\SysWOW64
каталог (они были из JRE7
version) и все отлично сработало.
после последнего автоматического обновления Java я не смог запустить Java из командной строки.
моя переменная пути имела 'C:\ProgramData\Oracle\Java\javapath;'
Я не мог cd в 'C:\ProgramData\Oracle\Java\javapath;' из окна командной строки, поскольку его не существовало.
Я удалил C:\ProgramData\Oracle\Java\javapath; 'из переменной path и заменил ее на' C:\Program файлы\Java\jre1.8.0_141\bin;'
вы должны определить свою папку jdk в переменной JAVA_HOME, добавьте %JAVA_HOME% в переменную path
удалить или изменить имя java.ехе, javaw, который.exe и javaws в вашей папке system32
Выполнить cmd.exe, java-версия теперь возьмите новую версию, которую вы определяете в JAVA_HOME.
сначала вы должны иметь Java 7. Если у вас нет, установите его первым (я не знаю, что вы используете, Linux, Mac, yum, apt, homebrew, вы должны узнать сами.)
если у вас уже есть Java 7 выполните команду:
echo $JAVA_HOME
вывод должен быть примерно таким:/usr/lib/jvm/java-8-oracle
. Рядом с этим каталогом вы должны увидеть . После того, как вы нашли его, запустить
export JAVA_HOME=${java-7-dir}
изменить {java-7-dir}
в свой каталог. Тогда вы можете запустить свой команда.
это только временное решение. чтобы изменить его навсегда, поместите вышеуказанную команду в свой .
EDIT: если вы используете Windows, изменить переменную окружения JAVA_HOME
к вашему пути каталога установки Java 7.
мой короткий вклад, для совместного использования той же проблемы с Talend Open Studio 64 битной версии.
- запуск ..\TOS_DI-с Win32-20150702_1326-В6.0.0\TOS_DI-беспроигрышный архитектуру x86_64.exe вручную (не связывать меню запуска Windows) и это сообщение об ошибке реестра
чтобы решить эту проблему, удалите все Java.ехе, javaw, который.exe и javaws.EXE-файлы в\c:\ProgramData\Oracle\Java\javapath
и TOS начинаются с версии 64 бит правильно !
удалите его из системного пути:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
и это исправит проблему при обновлении версии java с 1.7 до 1.8
ответ арибейро сработал для меня-с небольшими изменениями
- Я удалил ссылку на C:\ProgramData\Oracle\Java\javapath; из переменной среды Path
- Я сделал /path/to / jdkhome в качестве первой записи в переменной среды PATH. Я думаю, что только это и нужно.
существует где-то еще одна java.exe из JRE версии 1.8, что он находится в " пути" вы должны найти и удалить его, если это возможно. это может быть в пользовательской tempdata для приложений, которые нуждаются в jre.
просто установите Java SE Runtime Environment JRE 7 !
теперь вы видите "java 7" & "java 8" в "программы и функции" в "Панели Управления"
Это сработало для меня.
одним из возможных решений этой проблемы является добавление в папку Sencha CMD файла bat, как sugested в этом потоке Sencha Cmd 5 + Java 8 Ошибка.
партия будет иметь имя " sencha.летучая мышь " с этим кодом:
@echo off
set JAVA_HOME=<YOUR JDK 7 HOME>
set PATH=%JAVA_HOME%\bin;%PATH%
set SENCHA_HOME=%~dp0
java -jar "%SENCHA_HOME%\sencha.jar" %*
поместите его в папку sencha, в моем случае это
C:\Users\<YOUR USER>\bin\Sencha\Architect\Cmd.2.0.103
следующий шаг заключается в изменении среды PATHEXT varible. Измените переменные пользователя, чтобы иметь наименьшее возможное влияние.
изменить от
COM;.CMD;.EXE;.BAT;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
до
COM;.BAT;.EXE;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
идея состоит в том, чтобы заставить windows работать .bat файлы, прежде чем .файл EXE. Это важно, потому что в папке sencha уже есть "sencha".файл EXE. И в командной строке, если вы наберете "sencha", он выполнит " sencha.exe "вместо" sencha.летучая мышь."
Это было единственное решение, которое работало, потому что я очень ограничен, когда дело доходит до разрешений.
Моя Система:- Windows 8.1
Среды Java
- C:\JavaEnvironment\Java\jdk1.8.0_161
- C:\JavaEnvironment\Java\jdk1.7.0_75
недавно я установил Oracle 11g XE, и я получил упомянутое сообщение об ошибке при доступе к команде "java" в командной строке.
Я проверил свои переменные среды, проверил последовательность (как упоминалось в предыдущих ответах) и обнаружил, что моя переменная системного пути следующая запись в качестве первой записи:
C:\OracleDatabase\oraclexe\app\oracle\product\11.2.0\server\bin;
Я изменил последовательность и определил путь JDK как первую запись:
Я реплицировал то же изменение в пользовательскую переменную: Path
после завершения вышеуказанного действия я перезапустил командную строку и выполнил команду java-version и проблема исчезла. Он отобразил Java 8 в качестве текущей версии.
Unistall Java 8 из списка программ. Выполнив следующие шаги:-
на рабочем столе, нажмите на меню Пуск (или Start ball) в левом нижнем углу экрана. Перейдите к Панели Управления. Нажмите на программы и функции. Выберите Java8 и нажмите Удалить
У меня была аналогичная проблема. Перемещение пути JDK и JRE в верхнюю часть переменной path решило проблему (которая имеет первый приоритет над тем, что присутствует в System32)
например, вот мое:
убить все приложения, связанные с java в диспетчере задач, а затем удалить Java.ехе , javaw, который.exe и Jawaws.exe от C:\windows\System32
Это должно решить вашу проблему... :)
просто сделал это и он работал
HKLM > программное обеспечение > JavaSoft > среда выполнения Java
просто вручную измените текущую версию до 1.7 .
lol ... но это сработало!