On Windows, why java -version return Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'?



  1. I've removed all ancient java 8 install on my computer.
  2. I've downloaded latest openjdk 11 from https://jdk.java.net/11/ and extracted the content to C:\Program Files\Java\
  3. I've setup system environment variable to

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

and added

%JAVA_HOME%\bin to Path.

  1. In a command prompt > java -version return:

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

Error: could not find java.dll

Error: Could not find Java SE Runtime Environment.

  1. Why?

O. Durand

Posted 2018-12-09T20:23:24.457

Reputation: 701



How to make it work:

Windows > Start > cmd >

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


C:> where java

It return 'C:\ProgramData\Oracle\Java\javapath' folder which contain:




Browse to this folder with Windows file explorer and remove everything (three files above).

Close and reopen cmd (Windows > Start > cmd >)

C:> java -version

Should now return:

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)

or something similar depending on which java release package you've downloaded...

It works!

O. Durand

Posted 2018-12-09T20:23:24.457

Reputation: 701

Thanks! The above steps fixed the error I was getting. Then to finish the clean-up, I deleted the C:\ProgramData\Oracle folder since it didn't contain anything else useful to me. I also removed C:\ProgramData\Oracle\Java\javapath from my system PATH environment variable where Oracle had left it as the first entry. – Bill Menees – 2019-06-06T12:27:45.023

Thank you so much! I was getting really frustrated. – Sven M. – 2019-11-13T13:27:27.283

Thanks! It works. – Fatmajk – 2020-02-06T18:58:31.667


I came across same issue,

how to check:

  1. open cmd, execute "where java" (without quote)
  2. you should see more than one output of the java path, one of it should be the one you set "C:\Program Files\Java\jdk-11.0.1\bin", the other ones should be in above

how to solve:

option 1:

simply delete all the other java path

option 2:

check your enviroment variable setting, move your %JAVA_HOME%\bin to the above all the other java path


Posted 2018-12-09T20:23:24.457

Reputation: 119


Try Adding the new Java home path at the start of the path instead of end i.e %JAVA_HOME%\bin;(rest of path). It will get picked first. Worked for me.


Posted 2018-12-09T20:23:24.457

Reputation: 1