Java错误打开注册表项

时间:2011-06-15 17:52:36

标签: java dll runtime registry

当我在命令提示符下尝试使用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,并在环境变量中设置了路径。任何人都有任何线索如何解决这个问题?

15 个答案:

答案 0 :(得分:146)

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

答案 1 :(得分:55)

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

答案 2 :(得分:17)

我有类似的问题。我安装了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/

答案 3 :(得分:6)

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

  • 如果你有一个x32系统(Win XP 32位)Windows \ System32文件夹

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

答案 4 :(得分:3)

有3个要检查的位置

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

所有3个都必须对齐(如果您有多个整体,则删除错误的整体)-就这样

答案 5 :(得分:2)

删除本地文件中位于路径C:\ ProgramData \ Oracle \ Java \ javapath的这3个文件

java.exe
javaw.exe
javaws.exe

这为我解决了这个问题:)

答案 6 :(得分:1)

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

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

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

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

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

答案 7 :(得分:1)

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

答案 8 :(得分:1)

我有同样的话:

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

清除Windows \ SysWOW64对于Win7没有帮助

就我而言,它离线安装了JDK8(来自link

答案 9 :(得分:1)

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

答案 10 :(得分:0)

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

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

答案 11 :(得分:0)

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

安装Java JRE 7 - >离线< - 配置JAVA_HOME和Path = initialize: function (options) { // do other stuff this.fetched = this.model.fetch(); }, onRender: function () { var that = this; this.fetched.done( function (model, response, options) { console.log('Here'); // Do other stuff here ..... } ); }

答案 12 :(得分:0)

我有Windows7。安装后出现相同的问题:PyCharm。 我对PyCharm不满意,所以我决定改用Eclipse。这是我发现JDK出问题的时候。我曾经有Java.9.x。因此,我决定卸载它并获得较新的版本(当时我是Java.11.x。同样的问题仍然存在。 我遵循了帖子中上面提到的大多数步骤,例如: -删除所有java * .exe文件, -从注册表中删除与Java相关的条目。 -清理所有不必要的Java文件夹。但是没有任何帮助。我的系统中仍然有一些东西指向损坏的Java路径名。

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

就这样..至此一切恢复正常...除了Java.11.xx不能自动​​修复系统路径之外,我必须手动进行操作。

答案 13 :(得分:0)

我从上面回答了多个问题,并解决了我的问题。

问题:

Javac在jdk上为13,但Java从jre使用1.8,因此Java抛出了不兼容的运行时错误

修复:

  1. 在“控制面板”下->程序:我卸载了1.8(名为Java 8运行时),但没有碰到另一个(名为Java(TM)SE Development Kit 13)

  2. 从以下位置删除了java.exe,javac.exe和javawc.exe文件: 一种。 C:\ Windows \ system32 b。 C:\ Windows \ SysWOW64 C。 C:\ ProgramData \ Oracle \ Java \ javapath

  3. 环境变量JDK_HOME指向13,但是JAVA_HOME指向1.8,所以我指出JAVA_HOME也使用13,即C:\ Program Files \ Java \ jdk-13.0.1

  4. 在“用户变量”和“系统变量”部分下都有一个Path变量。 对于用户变量部分,我添加了字符串%JDK_HOME%-它会自动转换为物理路径。 对于系统变量下的一个,我删除了路径C:\ ProgramData \ Oracle \ Java \ javapath并添加了C:\ Program Files \ Java \ jdk-13.0.1 \ bin

一切都好!感谢所有回答的人,你真开心!

答案 14 :(得分:0)

确保从 system32、SysWOW64 中删除 java 引用,并从 ProgramData\Oracle\Java 中删除 javapath。它解决了这个问题

相关问题