Java 打开注册表项“Software\JavaSoft\Java Runtime Environment”时出错

mon*_*123 6 java java-runtime-compiler

在 Windows 7 命令提示符下运行“java -version”时,我得到以下信息:

Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
Run Code Online (Sandbox Code Playgroud)

我已经检查过环境变量:

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_212\bin
Run Code Online (Sandbox Code Playgroud)

PATH包括"%JAVA_HOME%

我也尝试过删除文件:java.exe、javaw.exe 和 javaws.exe 但是ProgramData\Oracle\JAVA\Javapath ,它们不会删除。尽管我是管理员。

我也检查过C:\Windows\System32C:\Windows\SYSWOW64没有找到要删除的 java.exe、javaw.exe 或 javaws.exe。

我还能尝试什么?

fiv*_*nts 2

  1. 您是否安装了多个Java?
  2. 注册表项中有什么?注册表项中指定的版本是否与您的 JDK/JRE 文件夹名称匹配?使用regedit命令打开注册表并查找您在问题 ( HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\CurrentVersion) 中提到的密钥。如果发现差异,请清理/更正版本。
  3. JAVA_HOME应该是排除 bin 的路径bin,并且PATH应该包含 bin 作为%JAVA_HOME%\bin
  4. 用户和系统环境变量之间是否存在重复条目PATH以及重复项?
  5. 您可以直接转到(cd)到存在 java 可执行文件的 JDK/JRE bin 目录并运行吗java -version
  6. 最后,我希望您查看C:\Windows\System32目录C:\Windows\SYSWOW64并删除 java.exe 和相关文件。