WIN10下JDK多個共存並切換使用JDK方法
由於公司中使用的JDK是1.70,而本人現在需要學習Stringboot2.0需要使用到JDK1.80,所以百度了很多大佬的方法,目前已經切換成功了,我現在總結下,也是給自己以后個方便
首先安裝JDK1.80
- 直接去官網下載jdk,選擇所需的jdk版本下載, https://www.oracle.com/technetwork/java/javase/downloads/index.html
- 安裝
- 以前配置過就沒必要再重新配置環境變量了。
存在問題
- 想要查看JDK是否安裝配置成功,需要再dos窗口中輸入 java -version。在安裝JDK1.8之后,還沒有在環境中配置JDK1.8的信息。但是執行 java -version會看到JDK1.8的信息。注意我以前的JDK版本是1.70
原因
- 在安裝JDK1.8之后,會自動將java.exe、javaw.exe、javaws.exe三個可執行文件復制到系統目錄。由於這個目錄在WINDOWS環境變量中的優先級高於path設置的環境變量優先級。
解決方法
- 將C:\Program Files (x86)\Common Files\Oracle\Java\javapath目錄下的三個可執行文件刪除。這個目錄是根據環境變量里的PATH來看的。
- 然后把cmd窗口關閉,將環境變量path中的%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;放到最前面。
- 重新打開cmd窗口,輸入 java -version 就可以看到1.70的jdk版本啦!
切換JDK版本
有兩種方法:
- 手動改變JAVA_HOME中的路徑為JDK版本的路徑
注意,將環境變量path中的%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;放到最前面
打開cmd輸入,java -version就可以看到版本已經切換了。 - 通過編寫批處理腳本來進行動態的切換。
其實道理是一樣的。復制以下代碼,更改后綴為.bat格式,文件名自取。注意下面代碼的JAVA_HOME的JDK安裝路徑根據自己電腦的情況來定。
@echo off
rem --- Base Config 配置JDK的安裝目錄 --- :init set JAVA_HOME_1_8=D:\Java\jdk1.8.0_191 set JAVA_HOME_1_7=D:\Java\jdk1.7.0_80 set RefreshEnv=D:\Java\RefreshEnv.exe echo 當前使用的JDK 版本: java -version echo. echo ============================================= echo jdk版本列表 echo 1.8 echo 1.7 echo ============================================= :select set /p opt=請選擇jdk版本: if %opt%==1.8 ( set TARGET_JAVA_HOME=%JAVA_HOME_1_8% ) if %opt%==1.7 ( set TARGET_JAVA_HOME=%JAVA_HOME_1_7% ) echo 當前選擇的Java路徑:%TARGET_JAVA_HOME% wmic ENVIRONMENT where "name='JAVA_HOME'" delete wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%TARGET_JAVA_HOME%" rem -- refresh env --- call %RefreshEnv% echo 請按任意鍵退出! pause>nul @echo on
然后,將此文件跟RefreshEnv.exe輔助軟件放到同一個目錄下,輔助文件下載地址
最后,使用管理員身份來運行switchVersion.bat文件。選擇JDK版本。
雖然我上面顯示的JDK版本內容顯示的有錯誤,但是我試過這個方法能運行成功,下面放下版本切換成功的圖,從1.80切換到1.70。
更換成功啦。