自己电脑上一直用的 JDK 版本是 1.6,今天决定更新到 1.7,在安装 JDK 1.7 后,控制台输入 java 命令测试是否安装成功的时候报错了:
C:\Users\wxl24life>java Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.7', but '1.6' is required. Error: could not find java.dll Error: could not find Java SE Runtime Environment.
?这个错误的来源是这样的:在决定安装 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 环境变量。