Ошибка раздела реестра: версия 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 64

24 ответа:

попробовав более ста трюков, наконец-то добился успеха.

Я удалил все java.exe,javaw.exe и javaws.exe от меня

  1. Windows\System32 и

  2. Windows\SysWOW64 папка. [Попробуйте Шаг 2, Если у вас есть x64 система (Win 7 64 бит)]

в моем случае (Windows 7 64-разрядная), я просто сделал следующее:

  • удалена ссылка на C:\ProgramData\Oracle\Java\javapath; С путь переменные среды
  • удалены файлы java, javaw и javaws С C:\Windows\System32 папку

после этого я закрыл все открытые консоли командной строки, снова открыл их и запустил java -версия.

  1. открываем regedit
  2. на [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
  3. изменить значение 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 - каталоги, эти исполняемые файлы испортил. Чтобы решить эту проблему:

  1. создать переменную окружения, указывающую на JDK home как JAVA_HOME.

    set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_45

  2. поставить запись %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", чтобы открыть редактор реестра

  1. перейдите в раздел" HKEY_LOCAL_MACHINE " в левой части реестра проводник / дерево меню
  2. нажмите "программное обеспечение" в пределах Реестры "HKEY_LOCAL_MACHINE"
  3. Нажмите кнопку " JavaSoft "в реестре" программное обеспечение"
  4. Нажмите кнопку "среда выполнения Java" в списке "JavaSoft" реестры здесь вы можете увидеть разные версии установленной java
  5. нажмите "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 битной версии.

  1. запуск ..\Tos_di-Win32-20150702_1326-V6.0.0\TOS_DI-win-x86_64.exe вручную (не связывать меню запуска Windows)
  2. и это сообщение об ошибке реестра

чтобы решить эту проблему, удалите все 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_BIN и JAVA_HOME, а затем перезапустите систему или, возможно, relogin. У вас есть эта ошибка, потому что это все еще путь jdk1.7. На windows это выглядит так: enter image description here

просто установите 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 как первую запись:

enter image description here

Я реплицировал то же самое изменение в пользовательскую переменную: Path

enter image description here

после завершения вышеуказанного действия я перезапустил командную строку и выполнил команду java-version и проблема исчезла. Он отображал Java 8 в качестве текущей версии.

Unistall Java 8 из списка программ. Выполнив следующие шаги:-

с рабочего стола, нажмите на меню Пуск (или начать мяч) в левом нижнем углу экрана. Перейдите на панель управления. Нажмите на программы и компоненты. Выберите Java8 и нажмите кнопку Удалить

У меня была аналогичная проблема. Перемещение пути JDK и JRE в верхнюю часть переменной path решило проблему (которая имеет первый приоритет над тем, что присутствует в System32)

например, вот мое:

enter image description here

убить все приложения, связанные с java в диспетчере задач, а затем удалить Java.ехе , javaw, который.exe и Jawaws.exe от C:\windows\System32

Это должно решить вашу проблему... :)

просто сделал это и он работал

HKLM > программное обеспечение > JavaSoft > среда выполнения Java

просто вручную измените текущую версию до 1.7 .

lol ... но это сработало!