首页 > 解决方案 > Java 错误打开注册表项“软件\JavaSoft\Java 运行时环境”

问题描述

在命令提示符 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.

我已经检查了环境变量:

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

PATH包括"%JAVA_HOME%

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

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

我还能尝试什么?

标签: javajava-runtime-compiler

解决方案


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

推荐阅读