Java错误打开注册表项

问题描述 投票:76回答:12

当我尝试在命令提示符下对Java执行任何操作时,我收到此错误:

Error opening registry key 'Software\JavaSoft\Java Runtime Environment.3'
Error: could not find Java.dll
Error: could not find Java 2 Runtime Environment

几天前,我确实在删除Java目录和注册表。我重新启动计算机,java仍然工作正常,然后我今天再次重新启动它,现在我收到此错误。我尝试过卸载并重新安装,但这似乎不起作用。我安装了最新的Java JRE,并在环境变量中设置了路径。任何人都有任何线索如何解决这个问题?

java dll runtime registry
12个回答
150
投票

确保从java.exe文件夹中删除任何javaw.exejavaws.exeWindows\System32,如果你有x64系统(Win 7 64位),也可以在Windows\SysWOW64下执行相同操作。


0
投票

如果病毒扫描程序(如McAfee)正在运行,请尝试:

  1. 禁用病毒扫描程序
  2. 卸载Java(通过控制面板/程序和功能)
  3. 重新安装Java(来自link
  4. 重新启用病毒扫描程序

0
投票

卸载Java(通过控制面板/程序和功能)

安装Java JRE 7 - > OFFLINE < - 配置JAVA_HOME和Path = Java.com


0
投票

我有Windows 7.安装后我遇到了同样的问题:PyCharm。我对PyCharm不满意,所以我决定使用Eclipse代替。这是我发现JDK出错的时候。我以前有Java.9.x.所以我决定卸载它并获得更新的版本(在我的时候它是Java.11.x.同样的问题仍然存在。我按照上面提到的大多数步骤执行: - 删除所有java * .exe文件, - 从注册表中删除Java相关的条目。 - 清理所有不必要的Java文件夹。但没有任何帮助。我仍然在系统中有一些东西引用了一个破碎的Java路径名。

真正带来补救措施的是: - 卸载了我目前所拥有的JDK版本。 - 重新安装问题发生之前的最后一个JDK版本 - 正确卸载该版本。 - 安装任何最新版本的SDK。 ..

就是这样......在这一点上,一切都恢复正常......除了Java.11.xx没有自动修复系统路径之外,我必须手动完成。


60
投票

您将在Windows安装的驱动器中的ProgramData文件夹中找到名为“Oracle”的文件夹。删除文件夹。希望它会奏效。在我的情况下,我的安装驱动器是C,我的路径是C:\ ProgramData \ Oracle


18
投票

我遇到了类似的问题。我安装了JDK7更新1但无法使用它(可能是因为我发现了在安装JDK7后删除的JRE6)。卸载JDK7是不可能的。解决方案是手动添加JRE注册表项。

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.7"

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7]
"JavaHome"="C:\\Program Files\\Java\\jre7"
"RuntimeLib"="C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7.0_01]
"JavaHome"="C:\\Program Files\\Java\\jre7"
"RuntimeLib"="C:\\Program Files\\Java\\jre7\\bin\\client\\jvm.dll"

您必须将上述内容调整为您自己的目录和版本。

如果这没有帮助,那么仍然有JavaRa http://raproducts.org/wordpress/


6
投票

确保从系统中删除任何java.exe,javaw.exe和javaws.exe。

  • 如果你有一个x32系统(Win XP 32位)Windows \ System32文件夹
  • 如果你有一个x64系统(Win 7 64位)也在Windows \ SysWOW64文件夹下也这样做

4
投票

在Windows 10上,我刚刚安装了JDK,并在检查版本时遇到了这些错误。我必须从java删除所有以java.exe(即javaw.exejavaws.exeC:\ProgramData\Oracle\Java\javapath)开头的可执行文件。然后,一旦删除,重新运行JDK安装程序,重新启动我的终端程序和java -v工作。


3
投票

有3个地方需要检查

  1. 注册表HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java运行时环境\ 1.8.0_xxx \ JavaHome
  2. Java控制面板 - Java选项卡 - 视图 - 路径
  3. 环境变量 - 路径($ env:Path)

所有3个必须对齐(如果你有多个条目只是删除错误的) - 这就是全部


1
投票

我会将此标记为评论,但不能(没有代表)只想感谢蒂尔曼。我试图让PDFsam(PDF分割和合并)工作无济于事。

在启动时,它会产生一个错误,指出它无法找到JRE 1.6.0。我有32位和64位版本,他们在各自的浏览器的java网站上查看。

尝试重复卸载/重新安装和重新启动以及使用JavaRa。没有这样的运气,仍然没有去。

我在阅读这篇文章后查看了注册表,并且没有... \ SOFTWARE \ JavaSoft \ key所以我添加了各自的字符串值指向我的x86版本(PDFsam是一个32位程序)。这已经超过了第一个问题,但是关于amd64库出现了一个错误,表明该机器想要运行64位版本。所以我改变了64位JRE的路径,PDFsam现在可以工作了。

仅供参考 - 在我无法从命令提示符启动javaw.exe之后(即使在向系统路径添加必需路径之后)搜索Java注册表项,我来到这里,使上述更改也解决了这个问题。


1
投票

我之前有JDK 1.7并且安装了JAVA JDK 1.8并将我的JAVA_HOME和PATH变量指向JAVA 1.8版本时出现了这种错误。当我试图找到java版本时,我收到了这个错误。我重新启动了我的机器,它确实有效。似乎我们必须在修改环境变量后重启机器。


1
投票

我有同样的道理:

Error opening registry key 'Software\JavaSoft\Java Runtime Environment

清除Windows \ SysWOW64对Win7没有帮助

在我的情况下,它帮助安装JDK 8离线(来自qazxsw poi)

© www.soinside.com 2019 - 2024. All rights reserved.