Java中jdk1.8和jdk17相互切換實(shí)戰(zhàn)步驟
前言
之前做Java項(xiàng)目時(shí)一直用的是jdk1.8,現(xiàn)在想下載另一個(gè)jdk版本17,并且在之后的使用中可以進(jìn)行相互切換,我將jdk切換時(shí)所遇到的問題記錄下來并分享出來供大家參考。
1.環(huán)境變量中之前已經(jīng)配置好的jdk1.8。
環(huán)境變量配置如下:
步驟1

步驟2

(注:@MAVEN_HOME%\bin;是配置maven時(shí)的環(huán)境變量,如果沒有安裝maven就不用管)
步驟3

在cmd中輸入java -version為jdk1.8版本:

2.jdk1.8版本到j(luò)dk17版本的切換。
jdk17的安裝路徑,為了方便我是安裝在和jdk1.8一樣的文件目錄下:

步驟1
在環(huán)境變量中另外創(chuàng)建兩個(gè)變量名,分別為JAVA1.8_HOME和JAVA17_HOME,變量值為jdk1.8和jdk17的安裝路徑。


步驟2
修改JAVA_HOME的變量值為%JAVA17_HOME%,這個(gè)值就是之前創(chuàng)建的屬于jdk17的變量名。

點(diǎn)擊確定后重新打開環(huán)境變量配置(若只是點(diǎn)擊確定而沒有重新打開配置則看不到變化),可以看到當(dāng)修改完畢后CLASSPATH和PATH的值自動(dòng)發(fā)生了變化,變成了在jdk17下的變量值。
CLASSPATH變量和PATH變量的值:


配置完成后,在cmd中輸入java -version查看jdk版本為17:

3.jdk17到j(luò)dk1.8的切換。
如果按照正常步驟來的話只需要修改JAVA_HOME的值為JAVA1.8_HOME就可以切換成jdk1.8的環(huán)境,修改過程如下:

修改后重新打開環(huán)境變量配置,CLASSPATH和PATH的值自動(dòng)變成了jdk1.8的值:


此時(shí)在cmd中輸入java -version查看jdk版本卻發(fā)現(xiàn)jdk版本仍然是jdk17的版本,并沒有切換成jdk1.8:

在網(wǎng)上尋找解決方案后,發(fā)現(xiàn)需要把系統(tǒng)變量中Path的變量值C:\Program Files\Common Files\Oracle\Java\javapath和C:\Program Files (x86)\Common Files\Oracle\Java\javapath都刪掉,如圖所示:

此時(shí)在cmd中輸入java -version查看jdk版本,發(fā)現(xiàn)已經(jīng)切換到了jdk1.8版本:

最后測試了在刪除Path的變量值C:\Program Files\Common Files\Oracle\Java\javapath和C:\Program Files (x86)\Common Files\Oracle\Java\javapath后再進(jìn)行上面的第2步操作后又能否切換回jdk17,結(jié)果發(fā)現(xiàn)可以成功切換成jdk17版本:

總結(jié)。
可以看出如果想要切換jdk版本,那就只需要?jiǎng)h除系統(tǒng)變量中PATH的值C:\Program Files\Common Files\Oracle\Java\javapath和C:\Program Files (x86)\Common Files\Oracle\Java\javapath,然后修改JAVA_HOME的值就可以隨意進(jìn)行jdk的切換。之前那個(gè)沒有切換成功的原因我想是因?yàn)橄螺d了jdk17后,原來C:\Program Files (x86)\Common Files\Oracle\Java\javapath和C:\Program Files\Common Files\Oracle\Java\javapath中的java.exe、javaw.exe、javaws.exe已經(jīng)變成了jdk17的版本,即使是修改了環(huán)境變量的值也不會(huì)切換到j(luò)dk1.8,那還不如直接在PATH變量刪除這兩個(gè)變量,而且刪除后沒有受到什么影響,也能夠進(jìn)行正常切換。希望這篇文章能夠幫助到你們,謝謝!
到此這篇關(guān)于Java中jdk1.8和jdk17相互切換的文章就介紹到這了,更多相關(guān)jdk1.8和jdk17相互切換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring?cloud?Hystrix注解初始化源碼過程解讀
這篇文章主要為大家介紹了Hystrix初始化部分,我們從源碼的角度分析一下@EnableCircuitBreaker以及@HystrixCommand注解的初始化過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-12-12
SpringMVC打印請求參數(shù)和響應(yīng)數(shù)據(jù)最優(yōu)方案
項(xiàng)目中經(jīng)常需要打印http請求的參數(shù)和響應(yīng)數(shù)據(jù),本文給大家講解如何在SpringMVC打印請求參數(shù)和響應(yīng)數(shù)據(jù)最優(yōu)方案,感興趣的朋友跟隨小編一起看看吧2023-07-07
一文詳解如何使用Spring MVC實(shí)現(xiàn)RESTful API接口
本文主要介紹了如何使用SpringMVC實(shí)現(xiàn)RESTful API,包括RESTful的核心概念、設(shè)計(jì)原則、傳參方式比較、SpringMVC實(shí)現(xiàn)示例及關(guān)鍵注解說明,還介紹了API測試工具和SpringMVC的匹配機(jī)制,強(qiáng)調(diào)了在實(shí)際開發(fā)中保持RESTful風(fēng)格的一致性和合理設(shè)計(jì)資源路徑的重要性2025-10-10
SpringBoot+devtools實(shí)現(xiàn)熱部署的示例代碼
在軟件項(xiàng)目的開發(fā)過程中,不可避免的會(huì)經(jīng)常修改代碼,每次修改代碼,都需要手動(dòng)停止然后再啟動(dòng)服務(wù),最后驗(yàn)證代碼的正確性,今天通過這篇文章,我們一起來學(xué)習(xí)一下如何使用Spring?Boot?+?devtools?輕松搞定熱部署,需要的朋友可以參考下2024-08-08
springboot解決Class path contains multiple 
這篇文章主要介紹了springboot解決Class path contains multiple SLF4J bindings問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
在Spring中使用Knife4j進(jìn)行API文檔生成與管理的操作方法
Knife4j 是為Java MVC 框架(如Spring Boot、Spring MVC等)集成 Swagger 生成 API 文檔的增強(qiáng)解決方案,它基于 Swagger 的核心功能,通過定制化的前端界面和一些額外的特性,本文介紹了在Spring中使用Knife4j進(jìn)行API文檔生成與管理的操作方法,需要的朋友可以參考下2024-12-12
Java Spring ApplicationEvent 代碼示例解析
本文解析了Spring事件機(jī)制,涵蓋核心概念(發(fā)布-訂閱/觀察者模式)、代碼實(shí)現(xiàn)(事件定義、發(fā)布、監(jiān)聽)及高級應(yīng)用(異步處理、事務(wù)綁定、執(zhí)行順序),對Java Spring ApplicationEvent概念相關(guān)知識(shí)感興趣的朋友一起看看吧2025-06-06

