一、问题描述:
今天部署一个系统,是使用JDK1.8版本编译的,查看部署服务器发现是JDK1.7版本,那么就需要在服务器重新部署JDK1.8版本,以适应系统正常运行。安装完成后,在控制台输入java -version,报错信息如下:
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.
二、问题复现过程:
(1)网上下载Windows系统的JDK1.8版本的exe文件(如jdk-8u112-windows-x64.exe),放到D盘的某个目录下(如D:\Java)。

(2)双击进行JDK安装,一直点下一步,直到完成。系统默认安装到了C:\Program Files\Java目录下。

(3)配置环境变量:环境变量JAVA_HOME,将原来的C:\Program Files\Java\jdk1.7.0_80修改为C:\Program Files\Java\jdk1.8.0_112,点击确定。

(4)以管理员身份运行控制台,输入java -version,报错信息如下:
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.
在网上搜索解决方案,很多都是说删除C:\ProgramData\Oracle\Java\javapath目录下的java.exe、javaw.exe和javaws.exe三个文件,或者是删除C:\Windows\System32目录下的java.exe、javaw.exe和javaws.exe三个文件,试了一下没有用,而且在控制台输入java -version,提示java命令程序不存在了。
三、解决方案:
分析解释报错信息:
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.
当前系统配置的JDK是1.8版本,但是系统的java.exe、javaw.exe和javaws.exe这三个exe文件指向的JDK是1.7版本的。那么我们只需要替换成1.8版本的即可。
解决步骤:
(1)复制C:\Program Files\Java\jdk1.8.0_112\bin目录下的java.exe、javaw.exe和javaws.exe这三个exe文件。

(2)覆盖C:\ProgramData\Oracle\Java\javapath目录下的java.exe、javaw.exe和javaws.exe这三个exe文件。注意:如果这个目录不显示,进入C盘目录,点击上方的查看按钮,在下拉菜单中,勾选“隐藏的项目”,这样就显示ProgramData目录了。


(3)覆盖C:\Windows\System32目录下的java.exe、javaw.exe和javaws.exe这三个exe文件。

(4)以管理员身份运行控制台,输入java -version,提示JDK1.8安装成功。

本文记录了在Windows系统中部署JDK1.8时遇到的问题及解决过程。安装JDK1.8后,环境变量配置正确,但控制台报错。尝试删除旧版本exe文件未解决问题,最终通过替换java.exe、javaw.exe和javaws.exe文件成功解决,确保系统使用的JDK版本与配置一致。

1046

被折叠的 条评论
为什么被折叠?



