Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg';JAVA_HOME环境变量失效的解决办法

转自:http://www.cnblogs.com/yjmyzz/p/3521554.html


晚上把oracle自带的weblogic给卸载了,然后打开eclipse,发现报错了:
Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg'

JAVA_HOME的环境变量值根本不是这个目录,到CMD命令窗口下,用echo %JAVA_HOME%,也显示正常,但是java -version时,显示java的home目录仍然是C:\Java\jre7,"百撕不得妻姐"之后,去问了度娘,原来JDK如果执行过安装程序后,会在

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.7.0_45\MSI\ 留下印记,里面有一项INSTALLDIR记录的还是当时安装的旧路径,如下图:

Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg';JAVA_HOME环境变量失效的解决办法

为了清净,有两种方法

1.直接把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调整到最面,Finally,世界终于恢复原来的秩序。

2.将里面INSTALLDIR的变量值改为现在jdk的目录,不过这样虽然能够快速解决当前问题,但是注册表还遗留下来一点问题所以建议用第一种方法。不过宇宙终于恢复和平了!