Erreur Java lors de l'ouverture de la clé de registre

110

J'obtiens cette erreur lorsque j'essaye de faire quoi que ce soit avec Java dans l'invite de commande:

Error opening registry key 'Software\JavaSoft\Java Runtime Environment.3'
Error: could not find Java.dll
Error: could not find Java 2 Runtime Environment

Je me suis trompé en supprimant les répertoires et le registre Java il y a quelques jours. J'ai redémarré l'ordinateur et java fonctionnait toujours bien, puis je l'ai redémarré aujourd'hui et maintenant j'obtiens cette erreur. J'ai essayé de désinstaller et de réinstaller mais cela ne semble pas fonctionner. J'ai le dernier java JRE installé et le chemin défini dans les variables d'environnement. Quelqu'un a-t-il une idée de la façon de résoudre ce problème?

gFu
la source
J'ai essayé de désinstaller java via l'invite de commande et cela a gâché mon programme de désinstallation. J'ai donc supprimé manuellement le dossier et supprimé les registres s'y rapportant. J'ai redémarré et réinstallé Java après cela et cela a bien fonctionné jusqu'à mon prochain redémarrage.
gFu
1
Vous essayez de réinstaller après que le redémarrage l'a gâché? Peut-être que la troisième fois est le charme
Atreys
Oui, je ne fonctionne toujours pas.
gFu
Avez-vous essayé de sauvegarder vos autres fichiers et de reformater votre ordinateur? Vous pourriez probablement faire une nouvelle installation de Java après cela. Mais cette méthode pourrait être excessive
Atreys
1
D'une manière ou d'une autre, je l'ai résolu pour mon problème particulier en téléchargeant le runtime même si JDK était déjà installé. Je laisse ceci ici au cas où cela fonctionne pour quelqu'un d'autre.
Dave

Réponses:

185

Assurez-vous de supprimer tout java.exe, javaw.exeet javaws.exede votre Windows\System32dossier et si vous avez un système x64 (Win 7 64 bits), faites également de même sous Windows\SysWOW64.

Si vous ne les trouvez pas à ces emplacements, essayez de les supprimer C:\ProgramData\Oracle\Java\javapath.

Baha
la source
7
Après avoir supprimé les exécutables "java" de mon dossier system32, j'ai dû réinstaller le JRE. Après cela, mon problème a été résolu. Merci pour le point de départ.
dangowans
1
Après l'installation d'un correctif de sécurité, je n'ai pas pu ouvrir eclipse à cause de cette erreur. Merci beaucoup! Votre solution a fonctionné. Mais je me demande quelle est la vraie raison ici.
pvarma
1
A travaillé pour moi! Je vous remercie ! A également dû réinstaller le JRE.
kbonnelly le
1
Pouvez-vous me dire quel est l'effet de ces fichiers dans le dossier system32?
Rabia Naz khan
lancez "where java" pour voir l'emplacement des fichiers exécutables mentionnés ci-dessus. Mine where on C: \ Program Files (x86) \ Common Files \ Oracle \ Java \ javapath
Charis Moutafidis
85

Vous trouverez un dossier nommé " Oracle " sur le dossier ProgramData dans votre lecteur Windows installé. Supprimez le dossier. J'espère que cela fonctionnera. Dans mon cas, mon lecteur d'installation est C et mon chemin est C: \ ProgramData \ Oracle

Shuvankar Paul
la source
@lese vous souhaite la bienvenue. Ravi d'entendre que cela fonctionne pour vous.
Shuvankar Paul
9
Vous pouvez également supprimer C:\ProgramData\Oracle\Java\javapathde Pathla variable d'environnement Windows
Gediminas Rimsa
@GediminasRimsa, je ne suis pas sûr que cette variable d'environnement de chemin sera présente dans tous les cas. Mais merci pour le commentaire.
Shuvankar Paul
J'ai supprimé le chemin des variables d'environnement mais j'ai quand même dû supprimer le dossier Oracle du dossier ProgramData pour le faire fonctionner.
Irena Rich
@GediminasRimsa J'ai en fait dû supprimer la variable d'environnement après avoir supprimé le dossier Oracle dans mes
ProgramData
21

J'avais un problème similaire. J'avais installé la mise à jour 1 de JDK7 mais je ne pouvais pas l'utiliser (probablement parce que j'ai trouvé un JRE6 que j'ai supprimé après l'installation de JDK7). La désinstallation de JDK7 était impossible. La solution consistait à ajouter les entrées de registre JRE à la main.

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.7"

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7]
"JavaHome"="C:\\Program Files\\Java\\jre7"
"RuntimeLib"="C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7.0_01]
"JavaHome"="C:\\Program Files\\Java\\jre7"
"RuntimeLib"="C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll"

Vous devrez ajuster ce qui précède à vos propres répertoires et version.

Si cela n'aide pas, il y a toujours JavaRa http://raproducts.org/wordpress/ .

Tilman Hausherr
la source
Malheureusement, cela n'a pas fonctionné pour nous sur Windows Server 2016. Nous continuons à obtenir "le module spécifié est introuvable"
Praxiteles
Désolé d'entendre cela ... essayez toutes les autres solutions, recherchez le message d'erreur ... et si vous trouvez une solution, partagez-la ici ou créez une nouvelle question. Cependant ... "le module spécifié est introuvable" n'est pas le message d'erreur qui a été discuté dans la question d'origine.
Tilman Hausherr
6

Assurez-vous de supprimer tous les java.exe, javaw.exe et javaws.exe de votre système.

  • si vous avez un dossier Windows \ System32 système x32 (Win XP 32 bits)

  • si vous avez un système x64 (Win 7 64 bits), faites de même sous le dossier Windows \ SysWOW64

user3740684
la source
6

Supprimez ces 3 fichiers présents dans votre local au chemin C: \ ProgramData \ Oracle \ Java \ javapath

java.exe
javaw.exe
javaws.exe

Cela a résolu le problème pour moi :)

shikha singh
la source
4

Il y a 3 endroits à vérifier

  1. Registre HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment \ 1.8.0_xxx \ JavaHome
  2. Panneau de configuration Java - Onglet Java - Affichage - Chemin
  3. Variables d'environnement - Chemin ($ env: Chemin)

Tous les 3 doivent s'aligner (si vous avez plusieurs entires, supprimez simplement les mauvais) - c'est tout

Marcin Piaskowski
la source
4

Sur Windows 10, je venais d'installer le JDK et j'ai obtenu ces erreurs lors de la vérification de la version. J'ai dû supprimer tous les fichiers exécutables commençant par java(c'est java.exe-à- dire javaw.exeet javaws.exe) de C:\ProgramData\Oracle\Java\javapath. Et puis, une fois supprimé, relancez le programme d'installation JDK, redémarrez mon programme de terminal et java -vfonctionne.

joe_the_third
la source
Je devais le faire mais je n'avais rien à réinstaller. La suppression des ex a résolu le problème
Callat le
Idem, la suppression de ces .exe a résolu le problème pour moi.
guymac le
Il est corrigé dans Windows 8 après la suppression de ces fichiers
poovaraj
1

J'aurais marqué cela comme un commentaire mais je ne peux pas (ne pas avoir le représentant) je voulais juste remercier Tilman. J'essayais de faire fonctionner PDFsam (PDF Split and Merge) en vain.

Au lancement, il produirait une erreur indiquant qu'il ne pouvait pas trouver JRE 1.6.0. J'ai les versions 32 et 64 bits et ils vérifient très bien sur le site Web java dans leurs navigateurs respectifs.

J'ai essayé de désinstaller / réinstaller et de redémarrer à plusieurs reprises ainsi que d'utiliser JavaRa. Pas de chance, toujours pas de chance.

J'ai regardé dans le registre après avoir lu cet article et il n'y avait pas de clé ... \ SOFTWARE \ JavaSoft \ donc j'ai ajouté chacune avec leurs valeurs de chaîne respectives pointant vers ma version x86 (PDFsam est un programme 32 bits). Cela a surmonté le premier problème, mais une erreur est apparue à propos des bibliothèques amd64 suggérant que la machine voulait exécuter la version 64 bits. J'ai donc changé les chemins vers le JRE 64 bits et PDFsam fonctionne maintenant.

FYI - Je suis arrivé ici en recherchant des clés de registre Java après avoir été incapable de lancer javaw.exe à partir de l'invite de commande (même après avoir ajouté les chemins requis au chemin système), ce qui a également résolu le problème.

Dizzixx
la source
1

J'ai eu ce genre d'erreur alors que nJ'avais JDK 1.7 auparavant et j'ai installé JAVA JDK 1.8 et dirigé mes variables JAVA_HOME et PATH vers la version JAVA 1.8. Lorsque j'essaye de trouver la version java, j'ai cette erreur. J'ai redémarré ma machine et cela fonctionne. Il semble que nous devions redémarrer la machine après avoir modifié les variables d'environnement.

user213013
la source
1

J'avais le même:

Error opening registry key 'Software\JavaSoft\Java Runtime Environment

Effacer Windows \ SysWOW64 n'aide pas pour Win7

Dans mon cas, l'installation de JDK8 hors ligne a aidé (à partir du lien )

i-mir
la source
0

Si un antivirus (comme McAfee) est en cours d’exécution, essayez:

  1. Désactiver le scanner de virus
  2. Désinstaller Java (via le Panneau de configuration / Programmes et fonctionnalités)
  3. Réinstaller Java (depuis Java.com )
  4. Réactiver le scanner de virus
zut
la source
0

Désinstaller Java (via le Panneau de configuration / Programmes et fonctionnalités)

Installez Java JRE 7 -> OFFLINE <- Configurez JAVA_HOME et Path = %JAVA_HOME%/bin;%PATH%

dap1995
la source
0

J'ai Windows 7. J'ai eu le même problème après l'installation: PyCharm. Je n'étais pas satisfait de PyCharm, j'ai donc décidé d'utiliser Eclipse à la place. C'est là que j'ai découvert que les choses n'allaient pas avec mon JDK. J'avais Java.9.x. J'ai donc décidé de le désinstaller et d'obtenir la version la plus récente (à l'époque, c'était Java.11.x. Le même problème persistait. J'ai suivi la plupart des étapes mentionnées ci-dessus dans le post comme: - Suppression de tous les fichiers java * .exe, - suppression des entrées liées à Java du registre - Nettoyage de tous les dossiers Java inutiles. Cependant, rien n'a aidé. J'avais encore quelque chose dans le système faisant référence à un chemin d'accès Java cassé.

Ce qui a vraiment apporté le remède est le suivant: - J'ai désinstallé la version de JDK que j'avais en ce moment. - Réinstaller la dernière version de JDK que j'avais avant que le problème ne survienne - Désinstaller correctement cette version. - Installez la dernière version du SDK. ..

Voilà ... à ce stade, tout est revenu à la normale ... Sauf que Java.11.xx ne corrigeait pas automatiquement le chemin du système, j'ai dû le faire manuellement.

Nowfal
la source
0

J'ai suivi plusieurs réponses ci-dessus et j'ai résolu mon problème.

Problème:

Javac était sur 13 à partir de jdk mais java utilisait 1.8 à partir de jre, donc java a jeté une erreur d'exécution incompatible

Réparer:

  1. Sous Panneau de configuration -> Programmes: j'ai désinstallé la version 1.8 (nommée Java 8 runtime) et N'AI PAS touché l'autre (nommée Java (TM) SE Development Kit 13)

  2. Fichiers java.exe, javac.exe et javawc.exe supprimés de: a. C: \ Windows \ system32 b. C: \ Windows \ SysWOW64 c. C: \ ProgramData \ Oracle \ Java \ javapath

  3. La variable d'environnement JDK_HOME pointait vers 13 mais JAVA_HOME pointait vers 1.8, j'ai donc indiqué à JAVA_HOME d'utiliser également 13 qui était C: \ Program Files \ Java \ jdk-13.0.1

  4. Il y avait une variable Path sous les sections Variables utilisateur et Variables système. Pour celui dans la section des variables utilisateur, j'ai ajouté la chaîne% JDK_HOME% - qui s'est traduite automatiquement par le chemin physique. Pour celui sous les variables système, j'ai supprimé le chemin C: \ ProgramData \ Oracle \ Java \ javapath et ajouté C: \ Program Files \ Java \ jdk-13.0.1 \ bin

Tout va bien maintenant! Merci à toutes les personnes qui ont répondu, vous rockez!

Shree Harsha
la source