JAVA_HOME环境变量失效的解决办法

晚上把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记录的还是当时安装的旧路径,如下图:

为了清净,直接把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,世界终于恢复原来的秩序,宇宙终于恢复和平了!

 

2019-06-13 更新: oracle官方的jdk 要开始收费了,如果换成了其它免费的openJdk,比如AdoptOpenJDK, 注册表的位置将变成:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\AdoptOpenJDK\JDK\11.0.3.7\hotspot\MSI

 

 

posted @   菩提树下的杨过  阅读(87900)  评论(5编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
历史上的今天:
2010-01-15 Silverlight中也玩屏幕截图
2010-01-15 重温delphi之:如何将Bitmap位图与base64字符串相互转换
2010-01-15 silverlight中如何将BitmapImage转化为Stream或byte数组?
点击右上角即可分享
微信分享提示