Ответ 1
Попробовав более сотни трюков, наконец-то получилось.
Я удалил все java.exe
, javaw.exe
и javaws.exe
из моего
-
Windows\System32
и -
Windows\SysWOW64
папка. [Попробуйте выполнить шаг 2, если у вас есть система x64 (Win 7 64 бит)]
При запуске
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-версии и переустановил последнюю версию. Тем не менее проблема остается.
Попробовав более сотни трюков, наконец-то получилось.
Я удалил все java.exe
, javaw.exe
и javaws.exe
из моего
Windows\System32
и
Windows\SysWOW64
папка. [Попробуйте выполнить шаг 2, если у вас есть система x64 (Win 7 64 бит)]
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
CurrentVersion
от "1.8" до "1.7" В моем случае (64-разрядная версия Windows 7) я просто сделал следующее:
Затем я закрыл все открытые консоли командной строки, снова открыл их и запустил java -version.
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)
Мой опыт:
Я использую 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, и это сработало для меня.
У меня была такая же проблема. Простым решением, которое сработало для меня, является переупорядочение записей в 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%
Я не удалял ни одного из файлов java.exe, но изменил порядок моей переменной System - "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)
Перед тем, как указано выше, убедитесь, что Registry CurrentVersion 1,8
В меню START введите "regedit", чтобы открыть редактор реестра
Мое решение для этой проблемы появилось после прочтения и проверки всех вышеперечисленных.
В моем случае я попытался понизить 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
), и все это отлично работало.
Сначала у вас должен быть 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.
Мой короткий вклад для совместного использования одной и той же проблемы с 64-разрядной версией Talend Open Studio.
Чтобы устранить эту проблему, удалите все файлы java.exe, javaw.exe и javaws.exe в каталоге c:\ProgramData\Oracle\Java\javapath\
и TOS начнут с 64-битной версии правильно!
Удалите его из системного пути:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
И это исправит проблему при обновлении версии java от 1.7 до 1.8
Ответ aribeiro работал у меня - с незначительными изменениями
Существует где-то еще один java.exe из версии версии 1.8, что он находится в "пути", вы должны найти и удалить его, если это возможно. он может быть в пользовательских tempdata для приложений, которым требуется jre.
Пожалуйста, измените системную переменную JAVA_BIN и JAVA_HOME, а затем перезапустите систему или, возможно, переустановите. У вас есть эта ошибка, потому что это путь jdk1.7. В окнах это выглядит так:
Просто установите среду Java SE Runtime Environment JRE 7!
Теперь вы видите "java 7" и "java 8" в "Программы и функции" в "Панели управления"
Это сработало для меня.
После последнего автоматического обновления 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; '
Unistall Java 8 из списка программ. Следуйте инструкциям ниже: -
На рабочем столе щелкните в меню "Пуск" (или "Начать шарик" ) в левом нижнем углу экрана. Перейдите на панель управления. Нажмите "Программы и функции". Выберите Java8 и нажмите "Удалить"
У меня была аналогичная проблема. Перемещение пути JDK и JRE к вершине переменной пути разрешило проблему (которая имеет первостепенный приоритет над тем, что присутствует в System32)
Например, вот мой:
Убейте все приложения, связанные с java в диспетчере задач, а затем удалите Java.exe, Javaw.exe и Jawaws.exe из C:\windows\System32
Это должно решить вашу проблему...:)
просто сделал это, и он работал
HKLM > ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ > JavaSoft > Java Runtime Environment
просто измените текущую версию на 1.7.
lol... но это сработало!