在windows上實現java6和Java8共存解決辦法

白小兔發表於2015-11-16

問題背景

公司專案中應用到的jdk環境為1.6,最近在家學習IntelliJ IDEA中sdk多環境配置時,想安裝Jdk1.8,作為學習基礎。那麼問題來了,公司專案擴充套件不支援jdk1.8,為了既能滿足公司專案開發環境,又能滿足學習jdk1.8的需要,當然不能每一次都進行jdk的安裝和解除安裝,需要探索另一種新方法。

分析問題

為了多快好省的解決當前的問題,我的想法是在windows中同時安裝jdk1.6和jdk1.8,在中間進行切換,而不需要多次進行重複的安裝和解除安裝,這樣簡單方便。

解決思路

  1. 第一步:在安裝之前,本機的jdk環境為jdk1.6,執行:java -version ,顯示當前jdk版本為1.6

enter image description here

  1. 第二步:安裝jdk1.8,讓兩個jdk共存。安裝教程是:直接 下一步 and 下一步安裝完成後,對jdk環境變數進行如下設定:

    JAVA8_HOME =jdk1.8的安裝路徑
    JAVA6_HOME =jdk1.6的安裝路徑
    JAVA_HOME = %JAVA6_HOME% (注意:如果你想切換jdk,就在此處設定即可)

設定後環境變數如下圖所示:

enter image description here

  1. 第三步:新增%JAVA_HOME%\bin到環境變數Path中,新增後的Path如下圖所示:

enter image description here

環境變數配置後,但是安裝以後出現以下問題:
通過java -version 檢視顯示,jdk顯示為:jdk1.8
分析:
當前jdk版本為1.8,這不科學,因為環境變數中配置的JAVA_HOME是1.6的路徑,檢視版本應該要是1.6的才對,現在變成1.8,jdk的環境變數未被改變,通過查詢後發現問題:

在安裝JDK1.8時(本機先安裝jdk1.6再安裝的jdk1.8),自動將java.exe、javaw.exe、javaws.exe三個可執行檔案複製到了C:\Windows\System32目錄,由於這個目錄在WINDOWS環境變數中的優先順序高於JAVA_HOME設定的環境變數優先順序。  

解決方案:

刪除C:\Windows\System32目錄下的java.exe,刪除即可。

注意: 如果Path中有 C:\ProgramData\Oracle\Java\javapath; ,刪除之。否則會引變數錯誤。

  • 第四步:以上配置完成後,開啟新 cmd 視窗,檢視jdk版本顯示正常,在環境變數中切換JAVA_HOME的值為: JAVA_HOME=%JAVA8_HOME% ,檢視jdk版本,成功切換。如圖所示:

enter image description here

總結

在經歷了被社群編輯器各種虐待後,終於把教程寫出來了,(還是怪自己,對社群編輯器不熟悉,以後會多加練習的)。苦苦熬了一晚上的夜終於弄出來了,PS:是被某隻貓點醒的,雖然很LOW,還是要感謝他 , 阿里嘎多!!
這篇教程還有很多不足、沒有考慮到的地方,希望大家一起努力,去完善它,讓它更完美。謝謝! 這篇文章我參照引用的有以下連結:

https://coderwall.com/p/gbek2g/java-6-and-java-7-on-windows
http://blog.sina.com.cn/s/blog_437ee9d00101isob.html
http://blog.163.com/lvan100@yeah/blog/static/68117214201521211149742/

相關文章