Во время пробежки
sencha app build production
Я получаю следующую ошибку:
Ошибка: ключ реестра 'Software \ JavaSoft \ Java Runtime Environment' \ 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) 64-разрядная серверная виртуальная машина Java HotSpot (TM) (сборка 25.40-b25, смешанный режим)
Не могу найти неправильный путь. Любая идея?
----------------------- РЕДАКТИРОВАТЬ -------------------------- ----------------------
Примечание : я использую Windows 7 (64 бит).
Я попытался удалить команду sencha touch и переустановить ее. Но все та же ошибка.
Я удалил все экземпляры версии java и переустановил последнюю, но проблема не устранена.
источник
System32
решит проблему.В моем случае (64-разрядная версия Windows 7) я сделал следующее:
После этого я закрыл все открытые консоли командной строки, снова открыл их и запустил java -version .
источник
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
CurrentVersion
с «1,8» на «1,7»источник
re: пользователи Windows
Нет. Не удаляйте ссылку на среду Javapath из переменной PATH.
Причина, по которой реестр не работает, заключается в том, что сценарий Oracle Javapath должен запускаться в последовательности PATH перед каталогами JRE и JDK - он отсортирует текущую версию:
поместите этот каталог в ГОЛОВУ вашей
%PATH%
переменной:[или где бы то ни было на вашем рабочем столе]
так что ваш 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
forJRE/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 в качестве первой записи. Это сработало.
источник
Ошибка явная ...
... вы пытаетесь использовать
java.exe
исполняемый файл 1.7, аHKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
>CurrentVersion
ключ реестра имеет значение 1.8.Повторяющаяся тема предлагаемых решений заключается в том, что ошибка является ошибкой конфигурации . Ошибка может быть решена различными различными способами (например , реконфигурация среды пользователей или удаления ява исполняемых файлов с пальцами-накрест и надеяться , что существует еще один запасной вариант
java.exe
в пользователей%PATH%
и о том , что запасной вариантjava.exe
является правильным исполняемым).правильно решение зависит от того, что вы пытаетесь достичь: «? Вы пытаетесь принизить от JDK-8 в JDK-7 Пытаются обновить JDK-8 ...»
Шаги размножения
обновить
%PATH%
переменную среды пользователя , удалитьC:\Program Files (x86)\Common Files\Oracle\Java\javapath
в новой командной строке
java -version
Решение (я)
Решение OP в https://stackoverflow.com/a/29769311/1423507 является «пальцы-накрест и надеяться , что существует запасной вариант
java.exe
в пользователях ,%PATH%
и что резервные исполняемый правильный» подход к ошибке. Учитывая этапы воспроизводства, удалениеjava.exe
,javaw.exe
иjavaws.exe
исполняемых файлы изC:\Windows\System32
(только в моем случае) приведет уже не имея какой - либоjava.exe
присутствующий в пользователях ,%PATH%
приводящих к ошибке ,'java' is not recognized as an internal or external command, operable program or batch file.
которая не так много раствора.ответы https://stackoverflow.com/a/35775493/1423507 и https://stackoverflow.com/a/36516620/1423507 работают, однако вы возвращаетесь к использованию
java.exe
1.7 (например, обновите значениеCurrentVersion
ключа реестра, чтобы оно соответствовалоjava.exe
версии, найденной в пользователи%PATH%
).убедитесь, что
java.exe
версия 1.8 является первой среди пользователей%PATH%
(как вы это делаете, не имеет значения), то есть:%PATH%
чтобы включить ихC:\Program Files (x86)\Common Files\Oracle\Java\javapath
первыми (убедитесь, что исполняемые файлы в этом каталоге верны)%PATH%
чтобы сначала включить абсолютный путь к вашим двоичным файлам Java (set PATH="C:\Program Files\Java\jre1.8.0_191\bin;%PATH%"
)%PATH%
с ними (set JAVA_HOME="C:\Program Files\Java"
;set JRE_HOME=%JAVA_HOME%\jre1.8.0_191
;set PATH=%JRE_HOME%\bin;%PATH%
)источник
У меня была эта ошибка в некоторых службах Windows под управлением Java. В конце концов, на своей машине я попытался удалить другие версии java.
Оставил только 1.8 и теперь все работает.
источник
Ответ aribeiro сработал для меня - с небольшими изменениями
источник
Как по мне на 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", чтобы открыть редактор реестра.
источник
Мое решение этой проблемы пришло после того, как я прочитал и попробовал все вышеперечисленное.
В моем случае я попытался перейти на более раннюю версию Java, чтобы использовать распечатки в
Apache ActiveMQ
. После удаления всех версий Java и очистки реестра я получал ту же ошибкуВ моем случае я должен был пойти в переменных окружения, редактирования пути, откройте расположение javapath (
C:\ProgramData\Oracle\Java\javapath
) и там было - три файла (java.exe
,javaw.exe
,javaws.exe
), оставшиеся от версии JRE8.Установив этот факт, я просто переключил их на те же файлы из
C:\Windows\SysWOW64
каталога (те, что были изJRE7
версии), и все заработало отлично.источник
После последнего автоматического обновления 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;'
источник
Вы должны определить свою папку jdk в переменной JAVA_HOME, добавить% JAVA_HOME% в свой путь к переменной
Удалите или измените имя вашего java.exe, javaw.exe и javaws в папке system32
выполните cmd.exe, java -version теперь возьмет новую версию, которую вы определили в JAVA_HOME.
источник
В дополнение к ответу Ананда Гупты убедитесь, что не используется никакая другая java, кроме той, которая вам нужна. Запустите
which java
(where java
для Windows) и посмотрите, какие исполняемые файлы Java используются. Просто удалите те, которые вы не хотите использовать, а если нужного вам нет, добавьте его в PATH.источник
Сначала у вас должна быть Java 7. Если у вас ее нет, сначала установите ее (я не знаю, что вы используете, Linux, Mac, yum, apt, homebrew, вы должны выяснить это сами).
Если у вас уже установлена Java 7, запустите:
Вывод должен быть чем - то вроде этого:
/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-битной версией!
источник
Удалите его из системного пути:
И это решит проблему при обновлении версии Java с 1.7 до 1.8.
источник
Где-то существует другой java.exe из jre версии 1.8, который находится в «пути», вы должны найти и удалить его, если это возможно. это может быть в пользовательских временных данных для приложений, которым требуется jre.
источник
Измените системные переменные JAVA_BIN и JAVA_HOME, а затем перезапустите систему или, возможно, повторно войдите. У вас возникла эта ошибка, потому что это все еще путь jdk1.7. В окнах это так:
источник
Просто установите Java SE Runtime Environment JRE 7!
Теперь вы видите «java 7» и «java 8» в «Программы и компоненты» на «Панели управления».
У меня это сработало.
источник
Одним из возможных решений этой проблемы является добавление в папку Sencha CMD файла bat, как предлагалось в этом потоке Sencha Cmd 5 + Java 8 Error .
Пакет будет иметь имя sencha.bat с таким кодом:
@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\6.2.0.103
Следующим шагом является изменение переменной среды PATHEXT. Измените пользовательские переменные, чтобы иметь наименьшее возможное влияние.
Я перехожу с
к
Идея состоит в том, чтобы Windows запускала файлы .bat в первую очередь, чем файлы .exe. Это важно, потому что в папке sencha уже есть файл «sencha.exe». А в командной строке, если вы наберете «sencha», он выполнит «sencha.exe» вместо «sencha.bat».
Это было единственное решение, которое сработало, потому что я очень ограничен в том, что касается разрешений.
источник
Моя система: - Windows 8.1
Среды Java
Недавно я установил Oracle 11g XE и получил указанное сообщение об ошибке при доступе к команде «java» в командной строке.
Я проверил свои переменные среды, проверил последовательность (как упоминалось в предыдущих ответах) и обнаружил, что моя системная переменная PATH имеет следующую запись в качестве первой записи:
C: \ OracleDatabase \ oraclexe \ app \ oracle \ product \ 11.2.0 \ server \ bin ;
Я изменил последовательность и определил путь JDK как первую запись:
Я воспроизвел то же изменение в пользовательской переменной: путь
После завершения вышеуказанного действия я перезапустил командную строку и выполнил команду java -version, и проблема исчезла. Он отображал Java 8 как текущую версию.
источник
У меня была аналогичная проблема. Перемещение пути JDK и JRE в начало переменной пути решило проблему (которая имеет приоритет над тем, что присутствует в System32)
Например, вот мой:
источник
Удалите Java 8 из списка программ. ПОСЛЕ следующих шагов: -
На рабочем столе щелкните меню «Пуск» (или «Пуск») в левом нижнем углу экрана. Зайдите в Панель управления. Щелкните «Программы и компоненты». Выберите Java8 и нажмите Удалить.
источник
Убейте все приложения, связанные с java, в диспетчере задач, а затем удалите Java.exe, Javaw.exe и Jawaws.exe из C: \ windows \ System32
Это должно решить вашу проблему ... :)
источник
просто сделал это, и это сработало
HKLM> ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ> JavaSoft> Среда выполнения Java
просто вручную измените текущую версию на 1.7.
лол ... но это сработало!
источник