- 我已删除计算机上安装的所有旧 Java 8。
- 我已经从下载了最新的 openjdk 11https://jdk.java.net/11/并将内容提取至
C:\Program Files\Java\
。 我已经将系统环境变量设置为
JAVA_HOME = C:\Program Files\Java\jdk-11.0.1
并添加
%JAVA_HOME%\bin
到路径。在命令提示符中
> 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.
为什么?
答案1
如何使其工作:
Windows > 开始 > cmd >
C:> for %i in (javac.exe) do @echo. %~$PATH:i
或者
C:> where java
它返回C:\ProgramData\Oracle\Java\javapath
包含以下内容的文件夹:
- 执行程序
- 执行程序
- javaws 程序
使用 Windows 文件资源管理器浏览到此文件夹并删除所有内容(上面的三个文件)。
关闭并重新打开 cmd(Windows > 开始 > cmd >)
C:> java -version
现在应该返回:
openjdk 版本 "11.0.1" 2018-10-16
OpenJDK 运行时环境 18.9(版本 11.0.1+13)
OpenJDK 64 位服务器 VM 18.9(版本 11.0.1+13,混合模式)
或者类似的东西,取决于您下载的 Java 发布包......
有用!
答案2
我遇到了同样的问题,
如何检查:
- 打开cmd,执行“where java”(不带引号)
- 您应该看到多个 java 路径的输出,其中一个应该是您设置的“C:\Program Files\Java\jdk-11.0.1\bin”,其他的应该在上面
怎么解决:
选项1:
只需删除所有其他 java 路径
选项 2:
检查你的环境变量设置,将你的 %JAVA_HOME%\bin 移动到所有其他 java 路径之上
答案3
尝试在路径开头而不是结尾处添加新的 Java 主路径,即 %JAVA_HOME%\bin;(路径的其余部分)。它将被首先选中。对我来说很有效。