最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MacOS如何安裝配置多個JDK并切換使用詳解

 更新時間:2025年02月24日 08:35:44   作者:程序員哈欠  
這篇文章主要介紹了如何在MacOS上安裝和配置多個JDK版本,通過配置環(huán)境變量來實現(xiàn),文中通過代碼介紹的非常詳細,需要的朋友可以參考下

由于JDK版本極快的更新速度,因此常常會出現(xiàn)不同項目需要的JDK不同情況,所以需要明白如何在操作系統(tǒng)安裝配置多個JDK,本篇博客以MacOS舉例。

提示:如果是M系列芯片,推薦下載arm版本

概述

安裝配置多個JDK一共三步:

實現(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 命令(例如 javajavac)可以在終端中全局訪問。

簡而言之:下載只是壓縮包,安裝包括解壓與配置

了解配置項

先給大家看看配置項

#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 的開頭。這樣能確保運行 javajavac 等命令時,優(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)文章

  • 10本Java架構(gòu)師必讀書籍

    10本Java架構(gòu)師必讀書籍

    這篇文章主要介紹了10本Java架構(gòu)師必讀書籍,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Spring解決泛型擦除的思路詳解

    Spring解決泛型擦除的思路詳解

    這篇文章主要介紹了Spring解決泛型擦除的思路,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • 淺析Java中對象的創(chuàng)建與對象的數(shù)據(jù)類型轉(zhuǎn)換

    淺析Java中對象的創(chuàng)建與對象的數(shù)據(jù)類型轉(zhuǎn)換

    這篇文章主要介紹了Java中對象的創(chuàng)建與對象的數(shù)據(jù)類型轉(zhuǎn)換,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-01-01
  • Java中CyclicBarrier?循環(huán)屏障

    Java中CyclicBarrier?循環(huán)屏障

    這篇文章主要介紹了Java中CyclicBarrier?循環(huán)屏障,可以實現(xiàn)讓一組線程等待至某個狀態(tài)屏障點之后再全部同時執(zhí)行,下面文章分享CyclicBarrier循環(huán)屏障的原理,需要的小伙伴可以參考一下
    2022-05-05
  • Java中實現(xiàn)Comparable和Comparator對象比較

    Java中實現(xiàn)Comparable和Comparator對象比較

    這篇文章主要針對Java中Comparable和Comparator對象進行比較,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Java異常處理全攻略之基礎(chǔ)原理+處理機制+信息解析+快速排查解決

    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)建的實例

    這篇文章主要介紹了java生成pdf表格,調(diào)用itext創(chuàng)建的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Java fastjson2 解析JSON用法詳解

    Java fastjson2 解析JSON用法詳解

    Fastjson2是Fastjson的升級版,提供了更好的性能和擴展性,它支持多種方式解析JSON數(shù)據(jù),包括將JSON字符串轉(zhuǎn)換為Java對象、嵌套的JSON對象和數(shù)組,以及轉(zhuǎn)換成Map或List,本文介紹Java fastjson2 解析JSON用法,感興趣的朋友一起看看吧
    2025-02-02
  • 如何使用Java統(tǒng)計gitlab代碼行數(shù)

    如何使用Java統(tǒng)計gitlab代碼行數(shù)

    這篇文章主要介紹了如何使用Java統(tǒng)計gitlab代碼行數(shù),實現(xiàn)方式通過git腳本將所有的項目拉下來并然后通過進行代碼行數(shù)的統(tǒng)計,需要的朋友可以參考下
    2023-10-10
  • SpringBoot實現(xiàn)登錄注冊的三種基本方式

    SpringBoot實現(xiàn)登錄注冊的三種基本方式

    本文簡要介紹了cookie、session、JWT三種方式實現(xiàn)登錄認證,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05

最新評論

晴隆县| 文化| 金秀| 宜章县| 馆陶县| 通化县| 漳平市| 阿克| 句容市| 天长市| 扎兰屯市| 博客| 南宁市| 鸡泽县| 泌阳县| 榆中县| 贵南县| 石阡县| 进贤县| 探索| 新竹市| 南宁市| 贵港市| 宁远县| 望谟县| 唐河县| 如东县| 交口县| 天祝| 马龙县| 保德县| 天长市| 高清| 高雄县| 广元市| 法库县| 盐城市| 启东市| 广州市| 红桥区| 建阳市|