Windows – On Windows, why java -version return Error: opening registry key ‘Software\JavaSoft\Java Runtime Environment’

environment-variablesjavawindowswindows-registry

  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.

  4. In a command prompt > java -version returns:

    Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
    Error: could not find java.dll
    Error: Could not find Java SE Runtime Environment.
    
  5. Why?

Best Answer

How to make it work:

Windows > Start > cmd >

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

or

C:> where java

It returns C:\ProgramData\Oracle\Java\javapath folder which contain:

  • java.exe
  • javaw.exe
  • javaws.exe

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!

Related Question