报错信息
Error: Registry key ‘Software\JavaSoft\Java Runtime Environment’\CurrentVersion’
has value ‘1.8’, but ‘1.7’ is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
解决方法
- 在环境变量Path中把%JAVA_HOME%\bin;移到最前,避免被后面的变量设置C:\ProgramData\Oracle\Java\javapath;覆盖
- 在C:\Windows\System32 目录下搜索java,出来三个exe:java,javaw,javaws。把这个三个exe全删掉。
(这三个exe就是jdk安装的时候被复制到系统目录C:\Windows\System32 下的)
CMD - where 命令
描述:显示符合搜索模式的文件位置。在默认情况下,搜索是在当前目录和 PATH 环境变量指定的路径中执行的。
我们可以运行 where java
来查看
我的 java 1.8 安装在 D:\lib\jdk1.8, 但是 %SystemRoot%\system32(即对应C:\Windows\System32) 优先于 %JAVA_HOME%\bin(即对应 D:\lib\jdk1.8\bin)匹配,所以找到了 C:\Windows\System32\java.exe, 但是这是java 1.7的运行程序。
参考文档
https://www.cnblogs.com/kendoziyu/p/13282619.html
https://blog.csdn.net/superit401/article/details/70154993