Windows系統(tǒng)下JDK1.8與JDK11版本切換超詳細教程
一、JDK生效原理
想必大家都在為如何流暢的切換JDK版本問題而來,那么在此篇文章開始之前,首先我們來思考一下這樣一個問題:系統(tǒng)是如何使得我們安裝的JDK生效的?
聰明的你一定想到了,是的,要想使得我們安裝的JDK生效,我們需要配置它的環(huán)境變量,讓系統(tǒng)知道我們已經(jīng)安裝了JDK并且已經(jīng)可以使用。
我們大家一般配置環(huán)境變量都是先新建一個系統(tǒng)變量JAVA_HOME,而JAVA_HOME所表示的路徑為我們安裝jdk的路徑(不包含bin目錄)即:
之后我們會在Path系統(tǒng)變量中新建環(huán)境變量%JAVA_HOME%\bin即:
那么這些環(huán)境變量和JDK生效有什么關系呢?我們來看bin目錄下到底有什么內(nèi)容:
jdk的bin目錄:我們看到了熟悉的字眼,沒錯,就是java和javac命令,它們就是我們每次配置完JDK驗證JDK成功的命令,其中javac命令還可以使我們編寫的Java文件編譯成字節(jié)碼文件(.class文件)
jdk自帶的jre的bin目錄:
那么計算機如何才能準確的調(diào)用這些命令呢?當然是通過Path環(huán)境變量來進行查找,Path環(huán)境變量的值是一系列路徑,Windows操作系統(tǒng)將在此一系列路徑中查找命令,若能找到則可執(zhí)行這些命令,即可以說Windows是通過JAVA_HOME來找到JDK和JRE的,并且當前JDK8以及JDK8之后已經(jīng)集成了JRE,因此我們在配置JRE時無需再配置CLASSPATH以及配置%JAVA_HOME%\jre\bin環(huán)境變量。
那說了這么多,這些和JDK版本的切換有什么關系呢?接下來我們用圖來表示。
我們當前有一個Java文件,若當前它使用的是JDK8編譯的,而我們想要使用JDK11來編譯它,怎么辦呢,最簡單的方法就是將JAVA_HOME的內(nèi)容改為JDK11,具體操作如下:
二、安裝配置JDK11
筆者現(xiàn)在安裝一個JDK11(筆者已經(jīng)安裝有JDK8)
點擊下一步
配置好路徑后,點擊下一步
等待安裝
點擊關閉
安裝成功后,筆者的所有JDK文件如下圖所示:
點擊進入jdk-11中,我們看到JDK11已經(jīng)完全集成了JRE,已經(jīng)完全看不到JRE的身影
三、切換JDK11版本
若我們想要切換JDK11版本,我們需要修改JAVA_HOME的JDK路徑,具體步驟如下圖所示:
修改JAVA_HOME的JDK路徑為JDK11的路徑:
四、查看切換JDK11版本是否成功
之后,我們查看JDK版本是否切換成功:輸入java -version命令查看JDK版本
java -version
我們發(fā)現(xiàn)JDK11版本已經(jīng)切換成功!??!
五、再次切換至JDK8版本
根據(jù)以上步驟,我們需要修改JAVA_HOME的JDK路徑,具體步驟如下圖所示:
修改JAVA_HOME的JDK路徑為JDK8的路徑:
六、查看切換JDK8版本是否成功
之后全部保存后,我們查看JDK版本是否切換成功:輸入java -version命令查看JDK版本
java -version
我們發(fā)現(xiàn),JDK的版本并沒有被切換回來?。。?/p>
原因:這是為什么呢?這是因為當我們安裝并配置好JDK11之后它會自動生成一個環(huán)境變量(此變量我們看不到),此環(huán)境變量優(yōu)先級較高,導致我們在切換回JDK8后系統(tǒng)會先讀取到JDK11生成的環(huán)境變量,而不會讀取到JDK8的環(huán)境變量。
解決辦法:我們需要將%JAVA_HOME%\bin上移至環(huán)境變量最高處(賦予它最高的優(yōu)先級)
之后,我們再次查看JDK版本是否切換成功:輸入java -version命令查看JDK版本
我們看到已然切換成功?。?!
總結(jié)
到此這篇關于Windows系統(tǒng)下JDK1.8與JDK11版本切換的文章就介紹到這了,更多相關JDK1.8與JDK11版本切換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
深入探究 spring-boot-starter-parent的作用
這篇文章主要介紹了spring-boot-starter-parent的作用詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,感興趣的小伙伴可以跟著小編一起來學習一下2023-05-05Java發(fā)送http請求的示例(get與post方法請求)
這篇文章主要介紹了Java發(fā)送http請求的示例(get與post方法請求),幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2021-01-01java爬蟲之使用HttpClient模擬瀏覽器發(fā)送請求方法詳解
這篇文章主要介紹了java爬蟲之使用HttpClient模擬瀏覽器發(fā)送請求方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07SpringBoot單元測試使用@Test沒有run方法的解決方案
這篇文章主要介紹了SpringBoot單元測試使用@Test沒有run方法的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01