MacOS如何安裝配置多個JDK并切換使用詳解
由于JDK版本極快的更新速度,因此常常會出現(xiàn)不同項目需要的JDK不同情況,所以需要明白如何在操作系統(tǒng)安裝配置多個JDK,本篇博客以MacOS舉例。
提示:如果是M系列芯片,推薦下載arm版本
概述
安裝配置多個JDK一共三步:
- 在Oracle官網(wǎng)下載JDK 或者點擊這里下載
- 安裝JDk
- 配置環(huán)境變量
實現(xiàn)多個JDK的關(guān)鍵是如何配置環(huán)境變量,是本文的重點,因此第一二步略過
配置環(huán)境變量
JDK下載與安裝的區(qū)別
下載 JDK:
- 過程: 這涉及從 Oracle 官方網(wǎng)站、OpenJDK 社區(qū),或者其他提供商下載 JDK 的二進制分發(fā)包。這通常是一個
.dmg(Disk Image)、.tar.gz、或者像.pkg這樣的安裝包。 - 本質(zhì): 下載只是將安裝文件從網(wǎng)絡(luò)傳輸?shù)侥愕谋镜赜嬎銠C,這一步只是在你的硬盤上存儲了安裝文件,并未進行任何系統(tǒng)級的修改。
安裝 JDK:
- 過程: 這一步包括運行實際下載的安裝程序或按照下載 README 的指示進行解壓和配置。安裝過程通常會復(fù)制 JDK 文件到系統(tǒng)的特定目錄(例如
/Library/Java/JavaVirtualMachines),以及更新相關(guān)的系統(tǒng)環(huán)境配置。 - 本質(zhì): 安裝步驟會把 JDK 添加到計算機的路徑中,使其成為全局可用。它通常會在系統(tǒng)中注冊這個 JDK,使得 Java 命令(例如
java,javac)可以在終端中全局訪問。
簡而言之:下載只是壓縮包,安裝包括解壓與配置
了解配置項
先給大家看看配置項
#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
這些行分別定義了兩個環(huán)境變量 JAVA_HOME_17 和 JAVA_HOME_8,用于存儲 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 作為默認的 Java 環(huán)境。這里是切換JDK的重點
export命令用于將環(huán)境變量暴露給終端中運行的所有子進程,確保在終端中運行的 Java 程序使用這個 JDK。
PATH=$JAVA_HOME/bin:$PATH
這行代碼重新設(shè)置了 PATH 環(huán)境變量的值。讓我們逐個部分地解釋:
PATH=PATH是一個環(huán)境變量,存儲了一系列目錄的路徑,系統(tǒng)會依次在這些目錄中查找可執(zhí)行文件。當(dāng)你在終端中輸入一個命令時,shell 根據(jù)這些路徑來尋找并執(zhí)行對應(yīng)的程序。=用于給變量賦值。在這行代碼中,我們更新了PATH變量的值。
$JAVA_HOME/bin$JAVA_HOME是一個變量,存儲了當(dāng)前 Java 安裝目錄的路徑。在這段代碼中,它被設(shè)置為JAVA_HOME_8,指向 Java 8 的安裝路徑。/bin是一個相對路徑,表示我們要訪問 JAVA_HOME 目錄下的bin子目錄,該目錄包含了所有與 Java 相關(guān)的可執(zhí)行文件,例如java和javac。- 當(dāng)
JAVA_HOME被正確設(shè)置時,$JAVA_HOME/bin的實際值可能為/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/bin。
:$PATH:是路徑分隔符。在 UNIX 和類 UNIX 系統(tǒng)中,環(huán)境變量PATH中的各個路徑是用冒號分隔的。$PATH表示當(dāng)前 PATH 變量的值。:$PATH表示我們要把當(dāng)前的PATH內(nèi)容追加到新的PATH變量值之后。
總結(jié)一下,這行代碼的作用是:
- 將 Java 安裝目錄下的
bin文件夾添加到PATH的開頭。這樣能確保運行java、javac等命令時,優(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 在運行時和編譯時搜索類文件的路徑。
tools.jar和dt.jar是 JDK 中的庫,tools.jar包含用于編譯和運行 Java 應(yīng)用程序的工具,而dt.jar通常和圖形界面構(gòu)建有關(guān)。
export PATH 和 export CLASSPATH
- 類似于
export JAVA_HOME, 這些export命令將已設(shè)置的PATH和CLASSPATH環(huán)境變量對終端中運行的所有子進程可用。 - 確保命令行程序和 Java 程序可以使用這些變量中配置的路徑和庫。
編寫配置項
1.在終端中,打開.zshrc文件
open .zshrc
2.將剛才的配置項粘貼到文件中
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如何安裝配置多個JDK并切換使用的文章就介紹到這了,更多相關(guān)MacOS安裝配置多個JDK切換使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺析Java中對象的創(chuàng)建與對象的數(shù)據(jù)類型轉(zhuǎn)換
這篇文章主要介紹了Java中對象的創(chuàng)建與對象的數(shù)據(jù)類型轉(zhuǎn)換,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-01-01
Java中實現(xiàn)Comparable和Comparator對象比較
這篇文章主要針對Java中Comparable和Comparator對象進行比較,感興趣的小伙伴們可以參考一下2016-02-02
Java異常處理全攻略之基礎(chǔ)原理+處理機制+信息解析+快速排查解決
Java異常處理是Java編程語言中的一個重要概念,它允許開發(fā)者捕獲和處理程序中的異常,從而確保程序的可靠性和穩(wěn)定性,這篇文章主要介紹了Java異常處理全攻略之基礎(chǔ)原理+處理機制+信息解析+快速排查解決的相關(guān)資料,需要的朋友可以參考下2026-04-04
java生成pdf表格,調(diào)用itext創(chuàng)建的實例
這篇文章主要介紹了java生成pdf表格,調(diào)用itext創(chuàng)建的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
如何使用Java統(tǒng)計gitlab代碼行數(shù)
這篇文章主要介紹了如何使用Java統(tǒng)計gitlab代碼行數(shù),實現(xiàn)方式通過git腳本將所有的項目拉下來并然后通過進行代碼行數(shù)的統(tǒng)計,需要的朋友可以參考下2023-10-10

