MAC環(huán)境下安裝多個JDK的實(shí)現(xiàn)步驟
在 macOS 上安裝和管理多個 JDK 并實(shí)現(xiàn)自由切換,可以通過以下步驟實(shí)現(xiàn):
1. 安裝多個 JDK
你可以通過以下方式安裝多個 JDK 版本:
- 官方網(wǎng)站下載:從 Oracle 官網(wǎng) 或 AdoptOpenJDK 下載不同版本的 JDK 安裝包(.dmg),依次安裝
- 使用 Homebrew:通過 brew 命令安裝不同版本
# 搜索可用的 JDK 版本 brew search openjdk # 安裝特定版本,例如 openjdk@11 和 openjdk@17 brew install openjdk@11 brew install openjdk@17
安裝完成后,JDK 通常會被安裝在以下路徑:
- 官方安裝:
/Library/Java/JavaVirtualMachines/ - Homebrew 安裝:
/usr/local/Cellar/openjdk@版本號/
2. 配置 JDK 切換
推薦使用 jenv 工具來管理多個 JDK 版本,步驟如下:
安裝 jenv
# 使用 Homebrew 安裝 jenv brew install jenv # 配置環(huán)境變量(根據(jù)你的 shell 選擇相應(yīng)配置) # 對于 bash echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(jenv init -)"' >> ~/.bash_profile # 對于 zsh(macOS 默認(rèn) shell) echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(jenv init -)"' >> ~/.zshrc # 重新加載配置 source ~/.zshrc # 或 source ~/.bash_profile
添加已安裝的 JDK 到 jenv
# 查看已安裝的 JDK 路徑 ls /Library/Java/JavaVirtualMachines/ # 將 JDK 添加到 jenv(替換為實(shí)際的版本路徑) jenv add /Library/Java/JavaVirtualMachines/jdk-11.0.15.jdk/Contents/Home jenv add /Library/Java/JavaVirtualMachines/jdk-17.0.3.jdk/Contents/Home # 查看已添加的 JDK 版本 jenv versions
切換 JDK 版本
# 設(shè)置全局默認(rèn)版本 jenv global 11.0.15 # 設(shè)置當(dāng)前終端會話的版本 jenv shell 17.0.3 # 設(shè)置當(dāng)前目錄及其子目錄的版本(會創(chuàng)建 .java-version 文件) jenv local 11.0.15
驗證當(dāng)前 JDK 版本
java -version javac -version
3. 手動切換方法(不使用工具)
如果不想使用 jenv,也可以手動配置環(huán)境變量:
# 在 .zshrc 或 .bash_profile 中添加 JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home JAVA_HOME_17=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home JRE_HOME=$JAVA_HOME/jre CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:. export JAVA_HOME=$JAVA_HOME_17 export JRE_HOME export PATH export CLASSPATH alias jdk8="export JAVA_HOME=$JAVA_HOME_8" alias jdk17="export JAVA_HOME=$JAVA_HOME_17" # 重新加載配置 source ~/.zshrc # 或 source ~/.bash_profile
配置完成后,只需在終端輸入 jdk8、jdk11 等別名即可切換 JDK 版本。
總結(jié)
到此這篇關(guān)于MAC環(huán)境下安裝多個JDK實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)MAC安裝多個JDK內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于newFixedThreadPool實(shí)現(xiàn)多線程案例
這篇文章主要介紹了基于newFixedThreadPool實(shí)現(xiàn)多線程案例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
Java實(shí)現(xiàn)高效刪除Excel中的空白行和列
在日常數(shù)據(jù)處理中,我們經(jīng)常會遇到需要處理Excel文件的情況,今天,我將為大家介紹如何利用Java和強(qiáng)大的Spire.XLS for Java庫,自動化、高效地解決這一痛點(diǎn),希望對大家有所幫助2025-11-11
Java KindEditor粘貼圖片自動上傳到服務(wù)器功能實(shí)現(xiàn)
這篇文章主要介紹了Java KindEditor粘貼圖片自動上傳到服務(wù)器功能實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
Java報錯:ClassCastException問題解決方法
異常是程序中的一些錯誤,但并不是所有的錯誤都是異常,并且錯誤有時候是可以避免的,下面這篇文章主要給大家介紹了關(guān)于Java報錯:ClassCastException問題解決方法,需要的朋友可以參考下2024-07-07
Java實(shí)現(xiàn)OTP(動態(tài)口令)服務(wù)
OTP是一種動態(tài)生成的短時有效密碼,用于身份驗證,通常在登錄或執(zhí)行敏感操作時提供額外的安全保障,本文主要介紹了Java實(shí)現(xiàn)OTP(動態(tài)口令)服務(wù),感興趣的可以了解一下2025-03-03
分布式調(diào)度器之Spring Task 的使用詳解
SpringTask是Spring框架中用于任務(wù)調(diào)度的組件,通過簡單的注解就能實(shí)現(xiàn)定時任務(wù)的創(chuàng)建和調(diào)度,可以通過配置線程池來實(shí)現(xiàn),本文給大家介紹分布式調(diào)度器之Spring Task 的使用,感興趣的朋友跟隨小編一起看看吧2024-10-10

