35
  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?

3 Answers 3

58

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!

4
  • 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. Jun 6, 2019 at 12:27
  • Thank you so much! I was getting really frustrated.
    – Sven M.
    Nov 13, 2019 at 13:27
  • Thanks! It works.
    – Fatmajk
    Feb 6, 2020 at 18:58
  • Thank you! This worked for me
    – rickz
    Dec 15, 2020 at 22:01
3

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

3
  • How do I "simply delete all the other java path" ? Or "move your %JAVA_HOME%\bin to the above all the other java path" ? Apr 11, 2020 at 9:38
  • for Windows by “edit system environment”
    – LIU YUE
    Apr 11, 2020 at 9:47
  • Seems to work fine now. Thanks. Apr 11, 2020 at 19:45
-2

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.

Not the answer you're looking for? Browse other questions tagged or ask your own question.