[轉]在windows上實現多個java jdk的共存解決辦法


問題背景

公司項目中應用到的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

 

 


免責聲明!

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



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