MacOS如何安裝配置多個(gè)JDK并切換使用詳解
由于JDK版本極快的更新速度,因此常常會(huì)出現(xiàn)不同項(xiàng)目需要的JDK不同情況,所以需要明白如何在操作系統(tǒng)安裝配置多個(gè)JDK,本篇博客以MacOS舉例。
提示:如果是M系列芯片,推薦下載arm版本
概述
安裝配置多個(gè)JDK一共三步:
- 在Oracle官網(wǎng)下載JDK 或者點(diǎn)擊這里下載
- 安裝JDk
- 配置環(huán)境變量
實(shí)現(xiàn)多個(gè)JDK的關(guān)鍵是如何配置環(huán)境變量,是本文的重點(diǎn),因此第一二步略過
配置環(huán)境變量
JDK下載與安裝的區(qū)別
下載 JDK:
- 過程: 這涉及從 Oracle 官方網(wǎng)站、OpenJDK 社區(qū),或者其他提供商下載 JDK 的二進(jìn)制分發(fā)包。這通常是一個(gè)
.dmg(Disk Image)、.tar.gz、或者像.pkg這樣的安裝包。 - 本質(zhì): 下載只是將安裝文件從網(wǎng)絡(luò)傳輸?shù)侥愕谋镜赜?jì)算機(jī),這一步只是在你的硬盤上存儲(chǔ)了安裝文件,并未進(jìn)行任何系統(tǒng)級(jí)的修改。
安裝 JDK:
- 過程: 這一步包括運(yùn)行實(shí)際下載的安裝程序或按照下載 README 的指示進(jìn)行解壓和配置。安裝過程通常會(huì)復(fù)制 JDK 文件到系統(tǒng)的特定目錄(例如
/Library/Java/JavaVirtualMachines),以及更新相關(guān)的系統(tǒng)環(huán)境配置。 - 本質(zhì): 安裝步驟會(huì)把 JDK 添加到計(jì)算機(jī)的路徑中,使其成為全局可用。它通常會(huì)在系統(tǒng)中注冊(cè)這個(gè) JDK,使得 Java 命令(例如
java,javac)可以在終端中全局訪問。
簡(jiǎn)而言之:下載只是壓縮包,安裝包括解壓與配置
了解配置項(xiàng)
先給大家看看配置項(xiàng)
#JAVA JAVA_HOME_17=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home export JAVA_HOME=$JAVA_HOME_8 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH export CLASSPATH
用編程的思維大致理解要做的事
- 定義變量
- 操作變量
- return變量
JAVA_HOME_17 and JAVA_HOME_8
這些行分別定義了兩個(gè)環(huán)境變量 JAVA_HOME_17 和 JAVA_HOME_8,用于存儲(chǔ) Java 17 和 Java 8 安裝的路徑。
JAVA_HOME_17設(shè)置為 Java 17 的路徑:/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home。JAVA_HOME_8設(shè)置為 Java 8 的路徑:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home。
export JAVA_HOME=$JAVA_HOME_8
這行命令將 JAVA_HOME 環(huán)境變量設(shè)置為 JAVA_HOME_8 的值,指定將使用 Java 8 作為默認(rèn)的 Java 環(huán)境。這里是切換JDK的重點(diǎn)
export命令用于將環(huán)境變量暴露給終端中運(yùn)行的所有子進(jìn)程,確保在終端中運(yùn)行的 Java 程序使用這個(gè) JDK。
PATH=$JAVA_HOME/bin:$PATH
這行代碼重新設(shè)置了 PATH 環(huán)境變量的值。讓我們逐個(gè)部分地解釋:
PATH=PATH是一個(gè)環(huán)境變量,存儲(chǔ)了一系列目錄的路徑,系統(tǒng)會(huì)依次在這些目錄中查找可執(zhí)行文件。當(dāng)你在終端中輸入一個(gè)命令時(shí),shell 根據(jù)這些路徑來尋找并執(zhí)行對(duì)應(yīng)的程序。=用于給變量賦值。在這行代碼中,我們更新了PATH變量的值。
$JAVA_HOME/bin$JAVA_HOME是一個(gè)變量,存儲(chǔ)了當(dāng)前 Java 安裝目錄的路徑。在這段代碼中,它被設(shè)置為JAVA_HOME_8,指向 Java 8 的安裝路徑。/bin是一個(gè)相對(duì)路徑,表示我們要訪問 JAVA_HOME 目錄下的bin子目錄,該目錄包含了所有與 Java 相關(guān)的可執(zhí)行文件,例如java和javac。- 當(dāng)
JAVA_HOME被正確設(shè)置時(shí),$JAVA_HOME/bin的實(shí)際值可能為/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/bin。
:$PATH:是路徑分隔符。在 UNIX 和類 UNIX 系統(tǒng)中,環(huán)境變量PATH中的各個(gè)路徑是用冒號(hào)分隔的。$PATH表示當(dāng)前 PATH 變量的值。:$PATH表示我們要把當(dāng)前的PATH內(nèi)容追加到新的PATH變量值之后。
總結(jié)一下,這行代碼的作用是:
- 將 Java 安裝目錄下的
bin文件夾添加到PATH的開頭。這樣能確保運(yùn)行java、javac等命令時(shí),優(yōu)先使用當(dāng)前配置的 JDK。 - 保留先前的
PATH內(nèi)容,確保系統(tǒng)的其他命令仍然可以被正常調(diào)用。
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
CLASSPATH 用于定義 Java 在運(yùn)行時(shí)和編譯時(shí)搜索類文件的路徑。
tools.jar和dt.jar是 JDK 中的庫(kù),tools.jar包含用于編譯和運(yùn)行 Java 應(yīng)用程序的工具,而dt.jar通常和圖形界面構(gòu)建有關(guān)。
export PATH 和 export CLASSPATH
- 類似于
export JAVA_HOME, 這些export命令將已設(shè)置的PATH和CLASSPATH環(huán)境變量對(duì)終端中運(yùn)行的所有子進(jìn)程可用。 - 確保命令行程序和 Java 程序可以使用這些變量中配置的路徑和庫(kù)。
編寫配置項(xiàng)
1.在終端中,打開.zshrc文件
open .zshrc
2.將剛才的配置項(xiàng)粘貼到文件中
3.在終端中,使.zshrc文件生效
source ~/.zshrc
切換JDK
在終端中,查看一下我們的JDK版本
java -version

1.在終端中,打開.zshrc文件
open .zshrc
2.修改JAVA_HOME的值
export JAVA_HOME=$JAVA_HOME_17
3.在終端中,使.zshrc文件生效
source ~/.zshrc
再查看一次,發(fā)現(xiàn)已經(jīng)切換成功了

總結(jié)
到此這篇關(guān)于MacOS如何安裝配置多個(gè)JDK并切換使用的文章就介紹到這了,更多相關(guān)MacOS安裝配置多個(gè)JDK切換使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot中JetCache的使用方法小結(jié)
本文主要介紹了springboot中JetCache的使用方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-10-10
Java 使用Socket正確讀取數(shù)據(jù)姿勢(shì)
這篇文章主要介紹了Java 使用Socket正確讀取數(shù)據(jù)姿勢(shì),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
SpringCloud服務(wù)接口調(diào)用OpenFeign及使用詳解
這篇文章主要介紹了SpringCloud服務(wù)接口調(diào)用——OpenFeign,在學(xué)習(xí)Ribbon時(shí),服務(wù)間調(diào)用使用的是RestTemplate+Ribbon實(shí)現(xiàn),而Feign在此基礎(chǔ)上繼續(xù)進(jìn)行了封裝,使服務(wù)間調(diào)用變得更加方便,需要的朋友可以參考下2023-04-04
Spring?Boot將@RestController誤用于視圖跳轉(zhuǎn)問題解決
這篇文章主要為大家介紹了Spring?Boot將@RestController誤用于視圖跳轉(zhuǎn)問題解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

