Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
打开注册表项时发生Java错误_Java_Dll_Runtime_Registry - Fatal编程技术网

打开注册表项时发生Java错误

打开注册表项时发生Java错误,java,dll,runtime,registry,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执行任何操作时,会出现以下错误:

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,并在环境变量中设置了路径。有人知道如何解决这个问题吗?

确保从您的
Windows\System32
文件夹中删除任何
java.exe
javaw.exe
javaws.exe
,如果您有一个x64系统(赢得7 64位),也在
Windows\SysWOW64
下执行同样的操作


如果在这些位置找不到它们,请尝试从
C:\ProgramData\Oracle\Java\javapath

中删除它们。我遇到了类似的问题。我已经安装了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。

我会将此标记为评论,但不能(没有代表)只是想感谢Tilman。我试图让PDFsam(PDF拆分和合并)工作,但没有结果

在启动时,它会产生一个错误,说明它找不到JRE 1.6.0。我有32位和64位版本,它们可以在各自的浏览器中在java网站上查看

尝试过反复卸载/重新安装和重新启动以及使用JavaRa。没有这样的运气,还是不行

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


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

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

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

  • 如果您有x64系统(Win 7 64位),也可以在Windows\SysWOW64文件夹下执行相同操作

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

  • 禁用病毒扫描程序
  • 卸载Java(通过控制面板/程序和功能)
  • 重新安装Java(从)
  • 重新启用病毒扫描程序
  • 卸载Java(通过控制面板/程序和功能)


    脱机安装Java JRE 7-->我在之前安装JDK 1.7,安装Java JDK 1.8并将我的Java_HOME和PATH变量指向Java 1.8版本时遇到了这种错误。当我试图找到java版本时,我遇到了这个错误。我重新启动了我的机器,它工作了。似乎我们必须在修改环境变量后重新启动计算机。

    您将在windows安装的驱动器中的ProgramData文件夹中找到一个名为“Oracle”的文件夹。删除文件夹。希望它能起作用。
    在我的情况下,我的安装驱动器是C,路径是C:\ProgramData\Oracle

    有3个位置需要检查

  • 注册表HKEY\U LOCAL\U MACHINE\SOFTWARE\JavaSoft\Java运行时环境\1.8.0\U xxx\JavaHome
  • Java控制面板-Java选项卡-视图-路径
  • 环境变量-路径($env:Path)
  • 所有3个都必须对齐(如果有多个实体,只需删除错误的实体即可)-这就是全部内容

    我有相同的:

    Error opening registry key 'Software\JavaSoft\Java Runtime Environment
    
    清除Windows\SysWOW64对Win7没有帮助


    在我的例子中,在Windows10上离线安装JDK8有帮助(来自)

    ,我刚刚安装了JDK,在检查版本时出现了这些错误。我必须从
    C:\ProgramData\Oracle\java\javapath
    中删除所有以
    java
    开头的可执行文件(即
    java.exe
    javaw.exe
    javaws.exe
    )。然后,一旦删除,重新运行JDK安装程序,重新启动我的终端程序,java-v就可以运行了。

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

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


    就是这样……此时一切都恢复正常……除了Java.11.xx没有自动修复系统路径外,我必须手动修复。

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

    java.exe
    javaw.exe
    javaws.exe
    

    这为我解决了问题:)

    我按照上面的多个答案解决了问题

    问题:

    Javac在jdk的13上,但java使用的是jre的1.8,所以java抛出了不兼容的运行时错误

    修正:

  • 在“控制面板->程序”下:我卸载了1.8(名为Java 8 runtime),但没有接触另一个(名为Java(TM)SE Development Kit 13)