晚上把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記錄的還是當時安裝的舊路徑,如下圖:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLi0zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwkzX39GZhh2csATMflHLwEzX4xSZz91ZsADMx8FdsYkRGZkRG9lcvx2bjxSa2EWNhJTW1AlUxEFeVRUUfRHelRHL2EzXlpXazxyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3PnVGcq5iM4MGNkVTYlZDO4E2YyYTMxAzY5UTOiZjM0EzY5QzM28CXxMzLcdDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.jpeg)
為了清淨,直接把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
作者:菩提樹下的楊過