Ошибка раздела реестра: версия 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-разрядная серверная виртуальная машина (сборка 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.эксС 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-файлы, но изменил порядок моей системы - переменная "путь" - так что он отражал %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.после установления этого факта я просто переключил их с теми же файлами из
после последнего автоматического обновления 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}
в свой каталог. Тогда вы можете запустить свой команда.это только временное решение. чтобы изменить его навсегда, поместите приведенную выше команду в свой .
изменить: если вы используете Windows, изменить переменную окружения
JAVA_HOME
путь к каталогу установки Java 7.
мой короткий вклад, для совместного использования той же проблемы с Talend Open Studio 64 битной версии.
- запуск ..\Tos_di-Win32-20150702_1326-V6.0.0\TOS_DI-win-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
aribeiro ответ работал для меня - с незначительными изменениями
- Я удалил ссылку на 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 Ошибка.
пакет будет иметь имя " сенча.летучая мышь " с этим кодом:
@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 "вместо" сенча.летучая мышь."
Это было единственное решение, которое работало, потому что я очень ограничен, когда дело доходит до разрешений.
Моя Система:- Windows 8.1
Java Environments
- 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 из списка программ. Выполнив следующие шаги:-
с рабочего стола, нажмите на меню Пуск (или начать мяч) в левом нижнем углу экрана. Перейдите на панель управления. Нажмите на программы и компоненты. Выберите Java8 и нажмите кнопку Удалить