Java Error opening registry key

Viewed 218877

I get this error when I try to do anything with Java in command prompt:

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

I did screw around with deleting Java directories and registry a few days ago. I restarted computer and java was still working fine, then i restarted it again today and now I get this error. I have tried uninstalling and reinstalling but that doesn't seem to work. I have the latest java JRE installed and the path set in the environment variables. Anyone have any clue how to fix this?

16 Answers

You will find a folder named "Oracle" on ProgramData folder in your windows installed drive. Remove the folder. Hope it will work. In my case my install drive is C and my path is C:\ProgramData\Oracle

Delete these 3 files present in your local at path C:\ProgramData\Oracle\Java\javapath

java.exe
javaw.exe
javaws.exe

This solved the issue for me :)

On Windows 10 I had just installed the JDK, and got these errors when checking the version. I had to delete all executable files starting with java (i.e. java.exe, javaw.exe and javaws.exe) from C:\ProgramData\Oracle\Java\javapath. And then, once deleted, re-run the JDK installer, restart my terminal program and java -v works.

There are 3 locations to check

  1. Registry HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8.0_xxx\JavaHome
  2. Java Control Panel- Java tab - View - Path
  3. Environment Variables - Path ($env:Path)

All 3 have to align (if you have multiple entires just remove the wrong ones) - thats all

I had the same:

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

Clearing Windows\SysWOW64 doesn't help for Win7

In my case it installing JDK8 offline helped (from link)

I have Windows 7. I got the same problem after installing: PyCharm. I wasn't satisfied with PyCharm, so I decided to use Eclipse instead. This is when I discovered that things went wrong with my JDK. I used to have Java.9.x. So I decided to uninstall it and get the newer version (at my time it was Java.11.x. The same problem persisted. I followed most of the steps mentioned above in the post like: - Removing all java*.exe files, - removing Java related entries from the registry. - Cleaning-up all unnecessary Java folders. However nothing helped. I still had something in the system referring to a broken Java pathname.

What really brought remedy is the following: - Uninstalled what ever version of JDK I had at the moment. - Re-Installed the last JDK version I had before the problem took place - Properly uninstall that version. - Install whatever latest version of SDK. ..

That's it .. at this point everything returned to normal ... Except that Java.11.xx did not fix the system path automatically, I had to do it manually.

I followed multiple answers from above and got my issue resolved.

Issue:

Javac was on 13 from jdk but java was using 1.8 from jre so java threw incompatible runtime error

Fix:

  1. Under Control Panel -> Programs: I uninstalled 1.8 (named Java 8 runtime) and DID NOT touch the other one (named Java (TM) SE Development Kit 13)

  2. Deleted java.exe, javac.exe and javawc.exe files from: a. C:\Windows\system32 b. C:\Windows\SysWOW64 c. C:\ProgramData\Oracle\Java\javapath

  3. The environment variable JDK_HOME was pointing to 13 but JAVA_HOME was pointing to 1.8 so i pointed JAVA_HOME to also use 13 which was C:\Program Files\Java\jdk-13.0.1

  4. There was a Path variable under both User variables and system variables sections. For the one in user variables section, i added the string %JDK_HOME% - which translated automatically to the physical path. For the one under system variables, I deleted the path C:\ProgramData\Oracle\Java\javapath and added C:\Program Files\Java\jdk-13.0.1\bin

All good now! Thanks to all the people who answered, you rock!

Make sure to delete java references from system32, SysWOW64, and delete javapath from ProgramData\Oracle\Java. It solves the issue

If you have "C:\ProgramData\Oracle\Java\javapath" in your PATH, just make sure that the java bin path entries are present before this entry in your PATH.

I was facing the exact same issue, and I just moved the java jdk/jre bin path entries up in the list, above the oracle entry and it resolved my issue.

Related