java - 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\System32
并C:\Windows\SYSWOW64
没有找到要删除的 java.exe、javaw.exe 或 javaws.exe。
我还能尝试什么?
解决方案
- 您是否安装了多个 Java?
- 注册表项中有什么?注册表项中指定的版本是否与您的 JDK/JRE 文件夹名称匹配?使用
regedit
命令打开注册表并查找您在问题中提到的密钥 (HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment\CurrentVersion
)。如果发现差异,请清理/更正版本。 JAVA_HOME
应该是排除路径bin
并且PATH
应该包括 bin 作为%JAVA_HOME%\bin
PATH
用户和系统环境变量中是否存在重复条目以及重复项?- 您可以直接转到(cd)到存在 java 可执行文件并运行的 JDK/JRE bin 目录
java -version
吗? - 最后,希望您查看目录
C:\Windows\System32
并C:\Windows\SYSWOW64
删除 java.exe 和相关文件。
推荐阅读
- c# - .netcore 2.2 Httpcontext 没有 SignInAsync
- jquery - 带有 if 语句的函数,根据单击的元素 id 执行代码
- javascript - 当颜色对话框没有任何操作就关闭时,我需要警报
- c++ - 围绕 SetThreadErrorMode()、SetErrorMode()、_set_error_mode() 和 _CrtSetReportMode() 感到困惑
- python-3.x - 使用 Tkinter 和 Python 3 访问 LabelFrames 中的子项
- arangodb - 使用 ArangoDB 的 AQL 生成随机字符串?
- azure - 如何在 Azure 上自定义 VM
- mysql - Slow MySQL distinct with where
- javascript - 动态更改标记图像源
- php - yii2 购物车ajax