原文网址:/blog/1966058
自己电脑上一直用的 JDK 版本是 1.6,今天决定更新到 1.7,在安装 JDK 1.7 后,控制台输入 java 命令测试是否安装成功的时候报错了:
Other代码 C:\Users\wxl24life>javaRegistrykey'Software\JavaSoft\JavaRuntimeEnvironment\CurrentVersion'hasvalue'1.7',but'1.6'isrequired.Error:couldnotfindjava.dllError:couldnotfindJavaSERuntimeEnvironment.
这个错误的来源是这样的:在决定安装 JDK 1.7 的时候,没有事先把之前安装的 JDK 1.6 卸载掉,导致系统中包含两个版本的 JDK 相关组件,可能是由于版本冲突导致了这个错误。
我开始希望通过某个设置,哪怕是修改注册表的方式,来自由切换我希望使用的 JDK 版本,因而想保留两个版本的 JDK。于是,为了消除上面的错误,我试着查看注册表中[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment] 下面各个项的值,均为发现问题。当然也试着改了其中的几个值,错误依旧。
最后,只好放弃保留两个版本的希望。
---
下面是解决方案:
如果希望使用的 JDK 版本是原来的 1.6。最简单的方式是,修改[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment] 中的"CurrentVersion" 为 "1.6"如果希望更新为新的 JDK 1.7,那么只能通过将已安装的 JDK 完全卸载掉,然后重新安装 JDK 1.7的方式。卸载的方法:控制面板-卸载程序,然后把 JDK、JRE 都卸载。确保卸载完后之前安装目录(如 C:\Program Files\Java)已经清空。
NOTE: 新安装完 JDK,记得修改 PATH 环境变量。