解決jdk1.7,1.8共存問題小思


一 起因

  隨着jdk1.9呼之欲出之勢,准備花點時間把jdk1.8搞掉,於是准備下一個項目的依賴改為jdk1.8,先去下載安裝,安裝好之后電腦上就存在兩個版本的jdk。然后將兩個版本的jdk路徑都配置在環境變量中,我也很期待會出現啥情況,然后cmd-->java-version出現下面:

jdk1.8

比較開心,正是我期待的結果,然后啥都沒管就傻傻的去開發了,然后過幾天需要切換回jdk1.7,挖了一些坑。

二 初次進行切換

  首先右鍵查看我的電腦-->屬性-->高級系統設置-->環境變量-->path,查看配置的環境,發現1.7和1.8都有配置在環境中,那為什么會運行jdk1.8呢?從源頭出發,之所以能夠在命令行開啟或者是查看jdk1.8,主要是因為在c盤-->windows--.system中或者其子目錄下包含相關程序,於是找到java,Java,javaw三個文件並將其刪除,刪除后再次在cmd窗口測試java:

jdk1.7和1.8沖突

  oh no,大概意思是我想要啟動jdk1.7但是環境還是1.8???我有點懵比,你是怎么知道我要啟動1.7,后來仔細一想,任何標記程序啟動最終還是在注冊表里去找對應的坐標和環境坐標,於是准備去注冊表試試。

三 解決沖突

  好的,下面進入注冊表(regedit)進入后ctrl+f進行搜索Java Development Kit,找到jdk的坐標位置並進行配置。

搜索jdk

。。。。稍等

設置jdk環境

然后搜索到這個,可以看到,第一個是jdk,第二個是java運行環境,現在回憶一下剛剛的報錯信息,have value1.8,but 1.7 is required,也就是說注冊表中的jdk環境是1.8,但是注冊表中的jdk是1.7,這樣的話只需要保證兩個一致就行了,可以參考我的設置

jdk版本

注冊表java運行環境

具體版本信息根據你自己下載的jdk版本決定(只要一致就行)java運行環境中的Browser JavaVersion(java能夠適配到的瀏覽器版本)可以忽略。

好了這樣一來就解決了jdk1.7和jdk1.8共存的沖突問題,下圖已解決。

jdk1.7解決

·后來一想,這樣設置之后。會不會無法切換jdk1.8,每次都要去注冊表切換??

然后我試着把環境變量設置成jdk1.8,結果:

jdk1.8可用

這是我先要的效果--->只需要改變環境變量中JAVA_HOME的位置即可,但為啥是這樣呢,注冊表明明是1.7

然后我去注冊表再去看了一下,好吧,jdk1.8會自動生成在里面,並且也有MSI文件,這樣的話就徹底解決jdk沖突了。

四 更多的坑

  配置好玩環境后,我自覺地打開eclipse。。。無法啟動(圖片忘記截取了)意思就是說,myeclipse需要的環境是1.7,當前系統環境是1.8,無法啟動。

想一想myeclipse還能在哪兒配置環境,打開安裝目錄找到myeclipse.ini,發現里面配置的是1.7,將其改成當前系統的環境即可。

myeclipse的jdk版本

 如圖,-vm的值指定到當前系統jdk的位置即可,在此啟動myeclipse完成

五 反思

  諸如此類安裝環境,配置環境的問題在實際開發中其實遇到的不是很多,或者說只會遇到個別幾次,並不會向我們寫代碼那么頻繁。由於次數很少,我們可能並不會遇到這個過程會遇到的所有問題,這樣的話,遇到新的問題極有可能浪我們大量的時間,所以在我們使用工具或者說第一次搭建環境的時候,一定要盡量對該工具有足夠的了解,再小的問題也要認真的去對待,對工具軟件有自己的理解,適當的走一些筆記,這樣的話及時遇到第一次見的問題也只是想想幾秒鍾的事兒了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM