遇到一个这样的问题:
之前java jdk 使用的是1.6的安装版本,后来版本太低了 需要1.8的,下载了免安装的JDK1.8,在系统环境变量中设置好了 JAVA_HOME 变量,在 PATH 中添加了bin路径,但是cmd 中执行 java -version 还是原来的版本, 查看 java -verbose 还是原来的安装路径, echo $PATH$ 显示的是免安装版本。
参考 了两篇文章:
http://songyishan.iteye.com/blog/1075149
http://www.cnblogs.com/yjmyzz/p/3521554.html
发现 安装版的是写注册表的。
"HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7.0_45\MSI\ 留下印记,里面有一项INSTALLDIR记录的还是当时安装的旧路径"
" 直接把HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\这个注册表分支给删除了,然后到cmd下,运行java -version,又出现另一个错误:
C:\Users\jimmy.yang>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.
网上搜索了下,很快找到了答案:
Path系统环境变量中,把 %JAVA_HOME%\bin调整到最 前面"
问题解决了。