剛剛休完假回來上班第一天——迎接我的卻是。。。。IDE掛了!

休假回來第一天我就開始寫代碼了

當我來到我的座位上,就馬不停蹄的打開電腦準備寫代碼啦!但萬萬沒想到,當我點開 Eclipse 的時候,她給我彈出一個對話框,我以為是要祝我休假快樂,開工大吉呢!誰知道...

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' has value '1.7', but '1.8' is required.

明顯感受到了來自 IDE 深深的祝福,新年第一天打開電腦第一件事就是修復 IDE,也是夠了。不過,從對話框上的文字,可以得出是 JDK 版本沖突了,這時候我想起來,在過年前放假回家的前一天,我在這臺電腦上又裝了 Java 1.8 版本的 JDK 來調試其他的一個項目。CMD 打開命令行窗口,敲擊java -version命令,果然還是這句話:

學習Java,了解獲取原視頻,源碼,學習交流,那就加入小編的學習交流群吧!616 959 444

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'has value '1.7', but '1.8' is required.Error: could not find java.dllError: Could not find Java SE Runtime Environment.

翻譯成人話:出錯啦!你告訴我 1.7 ,卻給我 1.8 ,找不到!找不到!!

既然 IDE 掛了,那就不寫代碼了

怎么可能,今天還有一個小功能要上線呢。首先考慮是環(huán)境變量配置出問題,檢查也沒錯,都是之前配置的 1.7 版本;接著檢查注冊表都沒有什么異常,CurrentVersion也都是之前的 1.7 版本;我想不出來還是什么問題了,就去 Google 了一下,找到了 SO 上的一個問題:Registry key Error: Java version has value '1.8', but '1.7' is required哈哈,和我一樣,這就好辦了。再接著了解到,雖然我們一直配置的環(huán)境變量中的Path\JAVA_HOME等這些東西,但當我們在命令行窗口執(zhí)行java -version或打開 Eclipse 的時候,執(zhí)行的并不是環(huán)境變量配置下bin目錄的文件,而是C:\Windows\System32下的文件。

了解原因以后,那再根據(jù)提示就會發(fā)現(xiàn):可能我的C:\Windows\System32下的文件是 1.8 版本的,不是 1.7 的。這是因為我先安裝的 JDK 版本是 1.7 的,這時候C:\Windows\System32下的文件肯定只有 1.7 版本的,但當我又安裝了 1.8 版本的 JDK 之后,系統(tǒng)可能把C:\Windows\System32下的 1.7 版本文件覆蓋掉了!掉了!!掉了!!!那我就替換唄。

肯定有人會問:既然知道是多個不同 JDK 版本,卸載年前安裝的 1.8 版本不就行了?那可不行,1.8 還有用呢,所以,需要保留 JDK 1.7 和 1.8 兩個版本,現(xiàn)在要做的就是讓兩個版本共存且不再沖突

替換。兩個不同版本 JDK 共存

Windows 下多個 JDK 版本共存首要條件是得僅有一個版本為主要的,其他不同的版本 JDK 調用只需要在 Tomcat 的bin/catalina.bat中配置JAVA_HOME即可了。選定自己需要的 JDK 版本后,就要把環(huán)境變量的JAVA_HOME、注冊表等這些關于 JDK 版本的配置改為你需要的,我這里需要 1.7 版本,就拿 1.7 版本做演示。

1.安裝 1.7 和 1.8 JDK,配置 1.7 環(huán)境變量(已安裝,略)。

2.查看或修改注冊表

找到HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft節(jié)點,查看Java Runtime Environment和Java Development kit中的CurrentVersion值是不是 1.7 ,不是就改為 1.7 。如圖:

學習Java,了解獲取原視頻,源碼,學習交流,那就加入小編的學習交流群吧!616 959 444

3.替換java.exe/javaw.exe/javaws.exe

找到環(huán)境變量JAVA_HOME中配置路徑下的bin目錄中的java.exe/javaw.exe/javaws.exe這三個文件,用這三個替換C:\Windows\System32和C:\Windows\SysWOW64中的文件。如圖:

當然,還有C:\ProgramData\Oracle\Java\javapath下的這三個文件快捷方式,也要替換一下。

4.完成

命令行窗口再次執(zhí)行java -version

學習Java,了解獲取原視頻,源碼,學習交流,那就加入小編的學習交流群吧!616 959 444

看到下面畫面就是成功啦!Eclipse 也能打開了,我寫完了代碼。

總結一下

開開心心休完假第一天竟然是以修 IDE 開始的,打死我也想不到,但我們作為開發(fā)者不就是整天在做修補工作么,修完這個 Bug ,還有下一個 Bug 在等著,我認為這才是這個職業(yè)的魅力所在,你永遠不知道接下來等著你的是什么,在沒來臨的那一刻。

好了,假也過完了,新的工作又開始了,你也許去年混的不怎么樣,但你放心,你今年會依然混的不怎么樣,哈哈,開個玩笑,不過在我有限的認知中,我認為我們所從事的這個職業(yè)是現(xiàn)階段社會上的職業(yè)中幸福的了(因為我特么沒干過其他職業(yè))。當然,我知道你們又要跳槽了,祝大家找工作的找到好工作,不找工作的好好加班寫代碼,未來都是大家的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容