Sous Windows, pourquoi java -version retourne-t-il Erreur : ouverture de la clé de registre 'Software\JavaSoft\Java Runtime Environment' ?

  • J’ai supprimé toutes les anciennes installations de Java 8 sur mon ordinateur.

  • J’ai téléchargé le dernier openjdk 11 depuis https://jdk.java.net/11/ et extrait le contenu dans C:\Program Files\Java\.

  • J’ai configuré la variable d’environnement système à

JAVA_HOME = C:\Program Files\Java\jdk-11.0.1

et ajouté %JAVA_HOME%\bin au Path.

  • Dans une invite de commandes > java -version retourne :
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

  • Pourquoi ?

Source : [Super User](JDK 11 Releases]()

Comment faire fonctionner cela :

Windows > Démarrer > cmd >

C:> for %i in (javac.exe) do @echo.   %~$PATH:i

ou

C:> where java

Cela retourne le dossier C:\ProgramData\Oracle\Java\javapath qui contient :

  • java.exe

  • javaw.exe

  • javaws.exe

Naviguez vers ce dossier avec l’Explorateur de fichiers Windows et supprimez tout (les trois fichiers ci-dessus).

Fermez et rouvrez cmd (Windows > Démarrer > cmd >)

C:> java -version

Devrait maintenant retourner :

openjdk version “11.0.1” 2018-10-16

OpenJDK Runtime Environment 18.9 (build 11.0.1+13)

OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)

ou quelque chose de similaire selon le package Java que vous avez téléchargé…

Ça fonctionne !