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

  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.exС 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-файлы, но изменил порядок моей системы-переменная "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", чтобы открыть редактор реестра

  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.

после установления этого факта я просто переключил их с теми же файлами из 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 битной версии.

  1. запуск ..\TOS_DI-с Win32-20150702_1326-В6.0.0\TOS_DI-беспроигрышный архитектуру 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


ответ арибейро сработал для меня-с небольшими изменениями

  • Я удалил ссылку на 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 Ошибка.

партия будет иметь имя " 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 как первую запись:

enter image description here

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

enter image description here

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


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

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


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

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

enter image description here


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

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


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

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

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

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