En courant
sencha app build production
Je reçois l'erreur suivante:
Erreur: clé de registre 'Software\JavaSoft\Java Runtime Environnement '\ CurrentVersion'
a la valeur '1.8', mais '1.7' est requis. Erreur: impossible de trouver Java.dll Erreur: impossible de trouver l'environnement d'exécution Java SE.
Java -version
, la commande montre ce qui suit:
Version Java "1.8.0_40" Environnement d'exécution Java SE (version 1.8.0_40-b26) Serveur 64 bits Java HotSpot (TM) VM (version 25.40-b25, mode mixte) )
Impossible de trouver où chemin va mal. Une idée?
----------------------- MODIFIER -------------------------- ----------------------
Note : J'utilise Windows 7 (64 bits).
J'ai essayé de désinstaller et de réinstaller sencha touch cmd. Mais toujours la même erreur.
J'ai désinstallé toutes les instances de la version Java et réinstallé la dernière, Toujours le problème persiste.
Après avoir essayé plus de cent astuces, finalement obtenu le succès.
J'ai enlevé tous les Java.exe
, javaw.exe
et javaws.exe
de mon
Windows\System32
et
Windows\SysWOW64
dossier. [Essayez l'étape 2 si vous avez un système x64 (Win 7 64 bits)]
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
CurrentVersion
de "1.8" à "1.7"Dans mon cas (Windows 7 64 bits), je viens de faire ce qui suit:
Ensuite, j'ai fermé toutes les consoles de ligne de commande ouvertes, les ai rouvertes et exécuté Java -version.
re: utilisateurs Windows
Non. Ne supprimez pas la référence d'environnement Javapath de votre variable PATH.
La raison pour laquelle le registre n'a pas fonctionné est que le script Oracle Javapath doit s'exécuter dans la séquence PATH avant les répertoires JRE et JDK - il va résoudre la version actuelle:
mettez ce répertoire au HEAD de votre variable %PATH%
:
C:\ProgramData\Oracle\Java\javapath
[ou où que ce soit sur votre bureau]
alors votre PATH ressemblera à quelque chose comme ceci - le mien par exemple
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
Vous verrez alors la version actuelle correcte:
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)
Mon expérience:
J'utilise Windows 8.1 et j’ai rétrogradé la version Java de la version 1.8 à la version 1.7 et j’obtenais la même erreur.
Erreur: la clé de registre 'Software\JavaSoft\Ja a la valeur' 1.7 ', mais' 1.8 'est requise.
J'ai supprimé Java.exe , javaw.exe et javaws.ex e de C:\Windows\System32 et le dossier a fonctionné pour moi.
J'ai eu le même problème. La solution simple qui a fonctionné pour moi est de réorganiser les entrées dans la PATH
pour JRE/JDK
. Ce problème a commencé à apparaître après l'installation de JRE 8
dont l'installation a placé des fichiers exécutables dans les répertoires System32 or SysWOW64
. Pour résoudre le problème:
Créez une variable d’environnement pointant vers la maison JDK sous la forme Java_HOME
.
set Java_HOME=C:\Progra~1\Java\jdk1.8.0_45
Placez l'entrée %Java_HOME%\bin
au début dans votre variable d'environnement PATH. Ajout de la valeur existante de PATH
. Par exemple:
path=C:\Program Files\Java\jdk1.8.0_45\bin;%path%
L'erreur est explicite ...
Erreur: la clé de registre 'Logiciel\JavaSoft\Environnement d'exécution Java'\CurrentVersion 'a la valeur' 1.8 ', mais' 1.7 'est requise.
Erreur: impossible de trouver Java.dll
Erreur: impossible de trouver l'environnement d'exécution Java SE.
... vous essayez d'utiliser l'exécutable Java.exe
1.7 alors que la clé de registre HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment
> CurrentVersion
a la valeur 1.8.
Le thème récurrent des solutions proposées est que l'erreur est une erreur configuration. L'erreur peut être résolue de différentes manières (par exemple, reconfiguration de l'environnement des utilisateurs ou suppression des exécutables Java avec les doigts croisés et espoir qu'il existe un autre Java.exe
de secours dans le %PATH%
des utilisateurs et que le Java.exe
de repli est l'exécutable correct).
La solution correcte dépend de l'objectif recherché: "essayez-vous de rétrograder de jdk-8 à jdk-7? Essayez-vous de passer à jdk-8? ..."
remarques:
- l'exécutable
Java.exe
disponible dans les utilisateurs%PATH%
est installé dansC:\Windows\System32
- l'installation ne met pas à jour les utilisateurs
%PATH%
- l'entrée de registre
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
>CurrentVersion
string est créée (entre autres) avec la valeur1.7
remarques:
- l'utilisateur
%PATH%
est mis à jour pour inclureC:\Program Files (x86)\Common Files\Oracle\Java\javapath
en tant que première entrée- la valeur des entrées de registre
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
>CurrentVersion
string est mise à jour à1.8
mettre à jour la variable d'environnement %PATH%
des utilisateurs, supprimer C:\Program Files (x86)\Common Files\Oracle\Java\javapath
dans une nouvelle commande Invite Java -version
Erreur: clé de registre 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion ' a la valeur '1.8', mais '1.7' est requis.
Erreur: impossible de trouver Java.dll
Erreur: impossible de trouver l'environnement d'exécution Java SE.
La solution de l'OP https://stackoverflow.com/a/29769311/1423507 est une approche "croisée des doigts et espérons qu'il existe un Java.exe
de repli dans le %PATH%
des utilisateurs et que l'exécutable de repli est correct" à l'erreur. Étant donné les étapes de reproduction, supprimer les exécutables Java.exe
, javaw.exe
et javaws.exe
de C:\Windows\System32
(uniquement dans mon cas) aura pour résultat qu'il n'y aura plus de Java.exe
dans les utilisateurs %PATH%
, ce qui entraînera l'erreur 'Java' is not recognized as an internal or external command, operable program or batch file.
qui n'est pas vraiment une solution.
answers https://stackoverflow.com/a/35775493/1423507 et https://stackoverflow.com/a/36516620/1423507 work de quelque manière que vous reveniez à utiliser le Java.exe
1.7 (par exemple, mettez à jour le La valeur de la clé de registre CurrentVersion
doit correspondre à la version de Java.exe
trouvée dans le %PATH%
des utilisateurs.
assurez-vous queJava.exe
1.8 est le premier trouvé dans le %PATH%
de l'utilisateur (comment procéder sans importance) i.e .:
%PATH%
pour inclure d'abord C:\Program Files (x86)\Common Files\Oracle\Java\javapath
(assurez-vous que les exécutables de ce répertoire sont corrects)%PATH%
pour inclure en premier le chemin absolu de vos fichiers binaires Java (set PATH="C:\Program Files\Java\jre1.8.0_191\bin;%PATH%"
)%PATH%
avec eux (set Java_HOME="C:\Program Files\Java"
; set JRE_HOME=%Java_HOME%\jre1.8.0_191
; set PATH=%JRE_HOME%\bin;%PATH%
)Je n'ai supprimé aucun des fichiers Java.exe, mais j'ai modifié l'ordre de mon système - la variable "chemin" - afin qu'il reflète% Java_HOME%\bin en tant que première entrée .
Après la dernière mise à jour automatique de Java, je ne pouvais pas exécuter Java à partir de la commande Invite.
Ma variable de chemin d'accès avait 'C:\ProgramData\Oracle\Java\javapath;'
Je ne pouvais pas cd dans 'C:\ProgramData\Oracle\Java\javapath;' depuis la fenêtre d'invite de commande, puisqu'elle n'existait pas.
J'ai supprimé C:\ProgramData\Oracle\Java\javapath; ' à partir de la variable de chemin d'accès et l'a remplacé par 'C:\Program Files\Java\jre1.8.0_141\bin;'
Ma solution à ce problème est venue après avoir lu et essayé tout ce qui précède.
Dans mon cas, j'ai essayé de rétrograder Java pour utiliser des impressions dans Apache ActiveMQ
. Après avoir désinstallé toutes les versions de Java et nettoyé le registre, la même erreur s'est produite.
Erreur: clé de registre 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion ' a la valeur '1.7', mais '1.8' est requis. "
Dans mon cas, je devais consulter les variables d’environnement, modifier le chemin, ouvrir l’emplacement javapath (C:\ProgramData\Oracle\Java\javapath
) et c’était le cas - trois fichiers (Java.exe
, javaw.exe
, javaws.exe
) qui restaient de la version JRE8.
Après avoir établi ce fait, je les ai simplement échangés avec les mêmes fichiers du répertoire C:\Windows\SysWOW64
(ceux-ci provenaient de la version JRE7
) et tout fonctionnait parfaitement.
Quant à moi sur Win7 64bit.
Copiez le fichier javaws.exe javaw.exe de Java.exe dans le dossier C:\Program Files\Java\jre1.8.0_91\bin to the C:\Windows\System32.
puis ouvrez cmd, tapez 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)
Avant ce qui précède, assurez-vous que la version actuelle du registre est 1.8
Dans le menu Démarrer, tapez "regedit" pour ouvrir l'éditeur de registre.
Vous devez définir votre dossier jdk dans la variable Java_HOME, Ajouter% Java_HOME% à votre chemin de variable
Supprimer ou changer le nom de votre Java.exe, javaw.exe et javaws dans votre dossier system32
exécutez cmd.exe, la version Java prend maintenant la nouvelle version que vous définissez dans Java_HOME.
aribeiro answer a fonctionné pour moi - avec des changements mineurs
D'abord, vous devriez avoir Java 7. Si vous ne l'avez pas, installez-le d'abord (je ne sais pas ce que vous utilisez, Linux, Mac, miam, apt, homebrew, vous devriez le découvrir vous-même.)
Si vous avez déjà Java 7, exécutez:
echo $Java_HOME
La sortie devrait ressembler à ceci: /usr/lib/jvm/Java-8-Oracle
. Près de ce répertoire, vous devriez voir le répertoire Java-7
. Après l'avoir trouvé, lancez
export Java_HOME=${Java-7-dir}
Changez {Java-7-dir}
avec votre chemin de répertoire. Ensuite, vous pouvez exécuter votre commande.
Ce n'est qu'une solution temporaire. Pour le changer définitivement, mettez la commande ci-dessus dans votre fichier ~/.bashrc
.
EDIT: Si vous utilisez Windows , remplacez la variable d'environnement Java_HOME
par le chemin du répertoire d'installation de Java 7.
Il suffit d'installer Java SE Runtime Environment JRE 7!
Vous voyez maintenant "Java 7" et "Java 8" dans "Programmes et fonctionnalités" dans le "Panneau de configuration"
Cela a fonctionné pour moi.
Ma courte contribution, pour avoir partagé le même problème avec la version 64 bits de Talend Open Studio.
Pour résoudre ce problème, supprimez tous les fichiers Java.exe, javaw.exe et javaws.exe sur c:\ProgramData\Oracle\Java\javapath \.
et TOS commencent avec la version 64 bits correctement!
Une solution possible à ce problème consiste à ajouter dans le dossier Sencha CMD un fichier bat comme indiqué sur ce fil Sencha Cmd 5 + Erreur Java 8 .
Le lot aura le nom "sencha.bat" avec ce code:
@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" %*
Placez-le dans le dossier sencha, dans mon cas c'est
C:\Users\<YOUR USER>\bin\Sencha\Architect\Cmd\6.2.0.103
L'étape suivante consiste à modifier la variable d'environnement PATHEXT. Modifiez les variables utilisateur pour avoir le moins d’impact possible.
Je change de
COM;.CMD;.EXE;.BAT;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
à
COM;.BAT;.EXE;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
L'idée est de faire en sorte que Windows exécute d'abord les fichiers .bat avant les fichiers .exe . C'est important car le dossier sencha contient déjà un fichier "sencha.exe". Et dans la ligne de commande, si vous tapez "sencha", il exécutera "sencha.exe" au lieu de "sencha.bat".
C'était la seule solution qui fonctionnait, car je suis très limité en termes de permissions.
Il existe quelque part un autre Java.exe de la version 1.8 de JRE qui se trouve dans "chemin" Vous devriez le trouver et le supprimer si cela est possible. il peut être en tempdata utilisateur pour les applications qui ont besoin de jre.
Supprimez-le du chemin système:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
Et cela résoudra le problème de la mise à niveau de la version Java de la version 1.7 à la version 1.8.
Mon système: - Windows 8.1
Environnements Java
J'ai récemment installé Oracle 11g XE et j'ai reçu le message d'erreur mentionné lors de l'accès à la commande "Java" à l'invite de commande.
J'ai vérifié mes variables d'environnement, vérifié la séquence (comme indiqué dans les réponses précédentes) et détecté que la variable système PATH avait l'entrée suivante en tant que première entrée:
C:\OracleDatabase\oraclexe\app\Oracle\product\11.2.0\server\bin;
J'ai changé la séquence et défini le chemin JDK comme première entrée:
J'ai répliqué le même changement dans la variable utilisateur: Chemin
Une fois l'activité ci-dessus terminée, j'ai redémarré la commande Invite et exécuté la commande Java -version. Le problème avait disparu. Il affichait Java 8 comme version actuelle.
J'ai eu cette erreur sur certains services Windows exécutant Java. Finalement, sur ma machine, j'ai essayé de désinstaller les autres versions de Java.
Je suis parti seulement 1.8 et maintenant tout fonctionne.