检查Java版本时出错:找不到java.dll

itr*_*tro 34 java runtime

为什么我会这样?我该如何解决?

C:\Users\ash>java version
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
has value '1.7.0_01', but '1.7' is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
Run Code Online (Sandbox Code Playgroud)

ffl*_*dro 40

重新安装所有JDK的公认解决方案有点苛刻.我也经历过这个问题,这是我的2美分:

自从我安装了JDK 8并且仍然安装了JDK 6以来,这个问题就开始发生了.我需要处理我正在进行的不同项目.

我注意到我有一个用户和一个系统%JAVA_HOME%,所以我删除了我的用户%JAVA_HOME%变量,只剩下系统一个.

我还注意到在我的Oracle安装中有一些Java可执行文件,我相信那些因为我的Oracle和Java安装都存在冲突的那些可执行文件%PATH%.

我从%PATH%变量中删除了所有Java路径,只留下变量%JAVA_HOME%\bin的开头,以避免与Oracle安装发生任何冲突.

  • 解决了我的问题.指向同一Java.exe文件的不同路径会导致此问题.这可能是因为其他Java安装,但不一定.就我而言,我路径中的一个Oracle软件有自己的java.exe. (3认同)
  • 很好的答案.我有完全相同的问题,因为第二个原因:*bin*的路径不是第一个java路径.我把它设置为第一个并修复. (3认同)
  • 我在Windows/System32中有一个错误的java.exe.我删除它,一切都很好. (2认同)

Roh*_*ain 31

安装java 1.8后我遇到了类似的问题.

要解决这个问题,请转到高级系统设置 - >路径并删除

C:\ ProgramData\ORACLE \的Java\javapath;

  • 或者将您需要的条目移到该条目之上 (2认同)

Ily*_*lya 13

重新安装JDK并在JDK上设置系统变量JAVA_HOME.(例如C:\ tools\jdk7)
并将JAVA_HOME变量添加到PATH系统变量中

输入命令行

echo %JAVA_HOME%
Run Code Online (Sandbox Code Playgroud)

java -version
Run Code Online (Sandbox Code Playgroud)

验证您的安装是否成功完成.

  • JAVA_HOME应该是JRE的变量值不是?-https://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windows (2认同)

bla*_*hub 13

删除

C:\ ProgramData\ORACLE \的Java\javapath;

工作就像魅力


DFS*_*FOT 5

确保您的 JDKPath变量指向该\bin文件夹并且位于列表顶部,因为它始终使用第一个匹配项。通过将其移动到顶部,您可以确保没有其他路径首先匹配。

如果有任何其他条目具有名为 java 的文件(例如C:\ProgramData\Oracle\Java\javapath),它将针对该文件而不是 JDK 中的 java 文件运行命令。除非您的文件因某种原因损坏或损坏,否则无需重新安装整个 JDK。


小智 5

安装 java 10.0 后我遇到了类似的问题

要解决此问题,请转到高级系统设置 --> 路径并删除

C:\ProgramData\Oracle\Java\javapath;


zag*_*000 5

为了使其正常运行,我必须从发生冲突的“路径”中删除“通用文件” javapath。现在,值得庆幸的是,java -version可以正常工作。

C:\Program Files (x86)\Common Files\Oracle\Java\javapath
Run Code Online (Sandbox Code Playgroud)


Shi*_*vam 5

当您的“Java 运行时环境”注册表项丢失或与安装的 JDK 不匹配时,通常会在 Windows 中出现此问题。不匹配可能是由于多个 JDK。

解决步骤:

  1. 打开运行窗口:

    Press <kbd>windows</kbd>+<kbd>R</kbd>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 打开注册表窗口:

    Type "regedit" and enter.
    
    Run Code Online (Sandbox Code Playgroud)
  3. 转到:\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\

  4. 如果 JavaSoft 中不存在 Java 运行时环境,则创建一个新密钥并命名为 Java 运行时环境。

  5. 对于 Java 运行时环境,创建“CurrentVersion”字符串键并提供适当的版本作为值:

JRE 注册表项

  1. 创建一个新的子项 1.8。

  2. 对于 1.8,创建一个名为 JavaHome 的字符串键,值为 JRE home:

    JRE regedit 条目 2

参考:https : //mybindirectory.blogspot.com/2019/05/error-could-not-find-javadll.html