Java Error opening registry key 'Software\JavaSoft\Java Runtime Environment'
Asked Answered
T

3

6

When running "java -version" on command prompt Windows 7, i get this:

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

I have already checked environment variables:

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_212\bin

And PATH includes "%JAVA_HOME%

I have also tried deleting files : java.exe, javaw.exe and javaws.exe in ProgramData\Oracle\JAVA\Javapath However, they won't delete. Even though I am an administrator.

I have also checked C:\Windows\System32 and C:\Windows\SYSWOW64 and didnt find java.exe, javaw.exe or javaws.exe to delete.

What else can I try?

This answered 28/7, 2019 at 21:4 Comment(13)
Possible duplicate of Error when checking Java version: could not find java.dllScleroprotein
@GeorgeZ I Tried all solutions suggested on that page, none worked for meThis
Have you tried removing the ProgramData\Oracle location from your PATH?Mississippian
@MarkRotteveel yesThis
1. Do you have multiple Java installed? 2. What is there in registry key? Does the version specified in the registry key match with your JDK/JRE folder name? 3. JAVA_HOME should be the path excluding bin and PATH should include bin as %JAVA_HOME%/bin 4. Are there duplicate entries in PATH and also duplication between user and system variables? 5. Can you directly go (cd) to JDK/JRE bin directory where java executable is present and run java -version?Extraterritorial
@Extraterritorial only one Java installed. Not sure where the registry key is, where can i find it? I fixed the paths to match what you said. and when i do java -version in the jdk/jre bin directory it displays the versionThis
@Extraterritorial for the path is it %JAVA_HOME%/bin or %JAVA_HOME%\bin? (forward slash or back slash)This
In Windows backward slash is used for directory path so, use %JAVA_HOME%\bin'. Use regedit' command to open the registry and look for the key you mentioned in your question. Cleanup/correct it if you see discrepancy.Extraterritorial
I hope you have taken care of System32 and SysWOW64 directories. Ensure to launch a new command prompt after changing environment variables.Extraterritorial
@Extraterritorial The registry key 'Software\JavaSoft\Java Runtime Environment' looks to be missing. And yes launching new command each time i make a changeThis
The key full path is: HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\CurrentVersion.Extraterritorial
@Extraterritorial JavaSoft folder is missing from that locationThis
Let us continue this discussion in chat.This
E
2
  1. Do you have multiple Java installed?
  2. What is there in registry key? Does the version specified in the registry key match with your JDK/JRE folder name? Use regedit command to open the registry and look for the key you mentioned in your question (HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\CurrentVersion). Cleanup/correct the version if you see a discrepancy.
  3. JAVA_HOME should be the path excluding bin and PATH should include bin as %JAVA_HOME%\bin
  4. Are there duplicate entries in PATH and also duplication between user and system environment variables?
  5. Can you directly go (cd) to JDK/JRE bin directory where java executable is present and run java -version?
  6. Lastly, I hope you looked at C:\Windows\System32 and C:\Windows\SYSWOW64 directories and removed java.exe and related files.
Extraterritorial answered 29/7, 2019 at 19:46 Comment(0)
H
2

This happened to me when I uninstalled and old Oracle version of Java. The registry key was deleted but a Java executable remained in a hidden folder. For proper cleanup

(on Windows):

where java will reveal the location of the shortcut, e.g., C:\ProgramData\Oracle\Java\javapath\java.exe (notice that this is a hidden folder).

Assuming you wanted to get rid of the old Java version, you can delete this folder, and the corresponding path entry.

Hound answered 10/6, 2022 at 14:40 Comment(0)
E
1

This error also comes when the software you are using is of 32-bit and you have a 64-bit version of Java installed which is not compatible with the existing softwares where you want to work. You may also uninstall 64-bit and install the 32-bit version which will resolve the issue.

Executive answered 30/10, 2021 at 4:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.