Подтвердить что ты не робот

Ошибка реестра: версия Java имеет значение "1,8", но требуется "1,7"

При запуске

sencha app build production

Я получаю следующую ошибку:

Ошибка: ключ реестра 'Software\JavaSoft\Java Runtime Окружающая среда '\ CurrentVersion'

имеет значение "1,8", но требуется "1,7". Ошибка: не удалось найти java.dll Ошибка: не удалось найти среду выполнения Java SE.

java -version, команда показывает следующее:

версия java "1.8.0_40" Java (TM) SE Runtime Environment (сборка 1.8.0_40-b26) Java HotSpot (TM) 64-разрядная серверная VM (сборка 25.40-b25, смешанный режим)

Невозможно найти, где путь идет не так. Любая идея?

----------------------- EDIT ----------------------- -------------------------

Примечание. Я использую Windows 7 (64 бит).

Я попытался удалить sencha touch cmd и переустановить. Но все та же ошибка.

Я удалил все экземпляры java-версии и переустановил последнюю версию. Тем не менее проблема остается.

4b9b3361

Ответ 1

Попробовав более сотни трюков, наконец-то получилось.

Я удалил все java.exe, javaw.exe и javaws.exe из моего

  • Windows\System32 и

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

Ответ 2

  • открыть regedit
  • перейти к [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
  • значение изменения CurrentVersion от "1.8" до "1.7"

Ответ 3

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

  • Удалена ссылка на C:\ProgramData\Oracle\Java\javapath; из переменной среды Path
  • Удалены файлы java, javaw и javaws из папки C:\Windows\System32

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

Ответ 4

re: пользователи Windows

Нет. Не удаляйте ссылку на среду Javapath из вашей переменной PATH.

Причина, по которой реестр не работает, заключается в том, что Oracle Javapath script должен запускаться в последовательности PATH перед каталогами JRE и JDK - он будет сортировать текущую версию:

поместите этот каталог в HEAD вашей переменной %PATH%:

C:\ProgramData\Oracle\Java\javapath

[или где бы он ни находился на вашем рабочем столе]

поэтому ваш PATH будет выглядеть примерно так: мой например

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)

Ответ 5

Мой опыт:

Я использую windows 8.1, и я понизил версию JAVA с 1,8 до 1,7, и я получал ту же ошибку.

Ошибка: ключ реестра 'Software\JavaSoft\Ja имеет значение "1.7", но требуется "1.8".

Я удалил java.exe, javaw.exe и javaws.ex e из C:\Windows\System32, и это сработало для меня.

Ответ 6

У меня была такая же проблема. Простым решением, которое сработало для меня, является переупорядочение записей в PATH для JRE/JDK. Эта проблема возникла после установки JRE 8, установка которой поместила некоторые исполняемые файлы в каталоги System32 or SysWOW64, эти исполняемые файлы запутались. Чтобы устранить проблему:

  • Создайте переменную среды, указывающую на дом JDK как 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%

Ответ 7

Я не удалял ни одного из файлов java.exe, но изменил порядок моей переменной System - "path", чтобы она отражала% JAVA_HOME%\bin как первую запись. Это сделало трюк.

Ответ 8

Что касается меня на 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)

Перед тем, как указано выше, убедитесь, что Registry CurrentVersion 1,8

В меню START введите "regedit", чтобы открыть редактор реестра

  • Перейдите в раздел "HKEY_LOCAL_MACHINE" в реестре слева explorer/tree menu
  • Нажмите "ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ" в реестре "HKEY_LOCAL_MACHINE"
  • Нажмите "JavaSoft" в реестрах "SOFTWARE".
  • Нажмите "Java Runtime Environment" в списке "JavaSoft" здесь вы можете увидеть разные версии установленных java
  • Нажмите "Java Runtime Environment" - с правой стороны вы получите 4-5 строк. Выберите "CurrentVersion" и щелкните правой кнопкой мыши (выберите модификация) убедитесь, что версия "1.8"

Ответ 9

Мое решение для этой проблемы появилось после прочтения и проверки всех вышеперечисленных.

В моем случае я попытался понизить 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), и все это отлично работало.

Ответ 10

Сначала у вас должен быть Java 7. Если у вас его нет, сначала установите его (я не знаю, что вы используете, Linux, Mac, yum, apt, homebrew, вы должны узнать сами).

Если у вас уже есть Java 7, запустите:

echo $JAVA_HOME

Результат должен быть примерно таким: /usr/lib/jvm/java-8-oracle. Рядом с этим каталогом вы должны увидеть каталог java-7. После того, как вы его нашли, запустите

export JAVA_HOME=${java-7-dir}

Измените {java-7-dir} на свой путь к каталогу. Затем вы можете запустить свою команду.

Это временное решение. Чтобы изменить его навсегда, поставьте приведенную выше команду в файл ~/.bashrc.

РЕДАКТИРОВАТЬ. Если вы используете Windows, измените переменную среды JAVA_HOME на свой путь к каталогу установки Java 7.

Ответ 11

Мой короткий вклад для совместного использования одной и той же проблемы с 64-разрядной версией Talend Open Studio.

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

Чтобы устранить эту проблему, удалите все файлы java.exe, javaw.exe и javaws.exe в каталоге c:\ProgramData\Oracle\Java\javapath\

и TOS начнут с 64-битной версии правильно!

Ответ 12

Удалите его из системного пути:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

И это исправит проблему при обновлении версии java от 1.7 до 1.8

Ответ 13

Ответ aribeiro работал у меня - с незначительными изменениями

  • Я удалил ссылку на C:\ProgramData\Oracle\Java\javapath; из переменной окружения
  • Я сделал /path/to/jdkhome в качестве первой записи в моей переменной среды PATH. Я думаю, что это единственное, что необходимо.

Ответ 14

Существует где-то еще один java.exe из версии версии 1.8, что он находится в "пути", вы должны найти и удалить его, если это возможно. он может быть в пользовательских tempdata для приложений, которым требуется jre.

Ответ 15

Пожалуйста, измените системную переменную JAVA_BIN и JAVA_HOME, а затем перезапустите систему или, возможно, переустановите. У вас есть эта ошибка, потому что это путь jdk1.7. В окнах это выглядит так: введите описание изображения здесь

Ответ 16

Просто установите среду Java SE Runtime Environment JRE 7!

Теперь вы видите "java 7" и "java 8" в "Программы и функции" в "Панели управления"

Это сработало для меня.

Ответ 17

После последнего автоматического обновления Java я не смог запустить Java из командной строки.

Моя переменная пути имела "C:\ProgramData\Oracle\Java\javapath;"

Я не мог записать cd в 'C:\ProgramData\Oracle\Java\javapath;' из окна командной строки, так как его не было.

Я удалил C:\ProgramData\Oracle\Java\javapath; ' из переменной пути и заменил его на "C:\Program Files\Java\jre1.8.0_141\bin; '

Ответ 18

Unistall Java 8 из списка программ. Следуйте инструкциям ниже: -

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

Ответ 19

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

Например, вот мой:

введите описание изображения здесь

Ответ 20

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

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

Ответ 21

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

HKLM > ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ > JavaSoft > Java Runtime Environment

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

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