公司考慮到代碼的可持續維護性,要求全部使用java7,自己又想在空閑時間學一些java8的新特性,故在安裝完1.7之后又安裝了1.8,導致eclisp在啟動時報’has value ‘1.8’,but’1.7’ is required’的錯誤,在控制台使用Java -version
進行查詢發現,依然會報’has value ‘1.8’,but’1.7’ is required’的錯誤,如下
1 C:>java -version 2 Error: Registry key ‘Software\JavaSoft\Java Runtime Environment’\CurrentVersion’ 3 has value ‘1.8’, but ‘1.7’ is required. 4 Error: could not find java.dll 5 Error: Could not find Java SE Runtime Environment.
這里,環境變量中只配置了1.7,並沒有對1.8配置任何環境變量值。
經過一段時間的摸索,經如下幾步修改,即可將系統默認jdk恢復到1.7:
1、修改注冊表
打開HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft
分別修改Java Development kit及Java Runtime Environment中的CurrentVersion值為1.7
2、替換文件
將%JAVA7_HOME%\bin里的 java.exe javaw.exe javaws.exe 復制到 C:\Windows/System32 及 C:\Windows\SysWOW64 並替換原有文件,將上述三個文件的快捷方式復制到 C:\ProgramData\Oracle\Java\javapath 並替換原有文件
如果不替換文件會出現以下問題、;
C:>java -version Error: Registry key ‘Software\JavaSoft\Java Runtime Environment’\CurrentVersion’ has value ‘1.8’, but ‘1.7’ is required. Error: could not find java.dll Error: Could not find Java SE Runtime Environment.
3、執行java -version
進行驗證
1 C:>java -version 2 java version “1.7.0_25” 3 Java(TM) SE Runtime Environment (build 1.7.0_25-b17) 4 Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)