问题
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?
回答1:
- Do you have multiple Java installed?
- 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. JAVA_HOME
should be the path excludingbin
andPATH
should include bin as%JAVA_HOME%\bin
- Are there duplicate entries in
PATH
and also duplication between user and system environment variables? - Can you directly go (cd) to JDK/JRE bin directory where java executable is present and run
java -version
? - Lastly, I hope you looked at
C:\Windows\System32
andC:\Windows\SYSWOW64
directories and removed java.exe and related files.
来源:https://stackoverflow.com/questions/57244959/java-error-opening-registry-key-software-javasoft-java-runtime-environment