使用jenv工具管理多個JDK版本的方法步驟
一、jenv到底是干啥的?
簡單來說,jenv就是專門用來管理多個Java版本的工具。不管是開發(fā)、測試,還是生產環(huán)境,只要你需要在同一臺機器上用不同的Java版本,它都能幫上大忙。比如說,項目A要求JDK 8,項目B得用JDK 11,有了jenv,就能輕松在這些版本之間切換,再也不用為了版本問題頭疼了。
二、jenv的核心功能
(一)管理多個Java版本
- 添加Java版本:想把已經安裝好的Java版本添加到jenv里,用這個命令就行:
jenv add /path/to/java/home
比如說你下載了JDK 8和JDK 11,安裝路徑分別是/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home和/Library/Java/JavaVirtualMachines/jdk11.0.10.jdk/Contents/Home ,添加的時候就這樣寫:
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home jenv add /Library/Java/JavaVirtualMachines/jdk11.0.10.jdk/Contents/Home
- 切換Java版本:切換Java版本也很簡單,可以全局切換,也能在局部(當前目錄)切換。
jenv global 1.8 # 這就把全局的Java版本切換到JDK 8啦 jenv local 11 # 在當前目錄下把Java版本切換成JDK 11
- 查看已安裝版本:要是想看看都安裝了哪些Java版本,直接用這個命令:
jenv versions
(二)支持插件擴展
jenv支持插件,通過插件能擴展它的功能。像Maven插件可以管理多個Maven版本,Gradle插件能管理多個Gradle版本,還有export插件可以設置環(huán)境變量。啟用插件的命令也很簡單:
jenv enable-plugin maven jenv enable-plugin gradle
(三)環(huán)境隔離
jenv可以給不同的項目或者目錄設置不一樣的Java版本,這樣就能避免全局環(huán)境沖突。比如全局想用JDK 11,就在終端輸入:
jenv global 11
要是某個項目得用JDK 8,在這個項目的目錄下運行:
jenv local 1.8
這時候,當前目錄下會生成一個.java-version文件,用來記錄這個目錄用的Java版本。
(四)自動切換
jenv還有個很貼心的功能,就是自動切換Java版本。當你進入一個包含.java-version文件的目錄時,jenv會自動把Java版本切換到文件里指定的版本,是不是很方便?
(五)跨平臺支持
不管你用的是macOS、Linux,還是Windows(通過WSL也行),jenv都能在這些系統(tǒng)上使用,適配各種開發(fā)環(huán)境。
(六)與其他工具集成
jenv能和Maven、Gradle、Spring Boot這些開發(fā)工具無縫集成,保證這些工具用的都是正確的Java版本,避免因為版本不一致導致的各種問題。
三、jenv的安裝和配置
(一)安裝jenv
在macOS上安裝jenv超簡單,用Homebrew就行:
brew install jenv
(二)初始化jenv
安裝好之后,還得把jenv添加到shell配置文件里。如果你用的是zsh,就在~/.zshrc文件里添加這兩行:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc echo 'eval "$(jenv init -)"' >> ~/.zshrc
添加完之后,再執(zhí)行下面這條命令讓配置生效:
source ~/.zshrc
要是用bash的話,就把配置添加到~/.bash_profile文件里,操作類似。
四、jenv常用命令匯總
| 命令 | 說明 |
|---|---|
jenv versions | 查看已經安裝的Java版本 |
jenv global <version> | 設置全局的Java版本 |
jenv local <version> | 設置當前目錄的Java版本 |
jenv shell <version> | 設置當前shell會話的Java版本 |
jenv add /path/to/java/home | 把Java版本添加到jenv |
jenv enable-plugin <plugin> | 啟用插件,比如maven、gradle |
jenv doctor | 檢查jenv的配置正不正確 |
五、jenv適用場景
- 要是你同時開發(fā)好幾個項目,每個項目要求的Java版本還不一樣,那jenv絕對是你的救星。
- 做不同Java版本兼容性測試的時候,用jenv能快速切換版本,效率直接拉滿。
- 擔心全局Java版本沖突?用jenv進行環(huán)境隔離,完美解決這個問題。
- 想快速切換開發(fā)環(huán)境?有了jenv,一鍵切換Java版本。
六、jenv與其他工具對比
| 工具 | 功能 | 特點 |
|---|---|---|
| jenv | 管理Java版本 | 輕量級,還支持插件擴展,用起來很靈活 |
| SDKMAN | 能管理Java、Maven、Gradle等多種工具 | 功能更強大,適合管理多種開發(fā)工具的版本 |
| Homebrew | 主要用來安裝和管理軟件包 | 安裝Java挺方便,但沒辦法進行多版本切換 |
總的來說,jenv在管理Java版本這塊表現(xiàn)很出色,簡單又好用。要是你還在被Java版本管理的問題困擾,不妨試試jenv!要是在使用過程中有啥問題,歡迎在評論區(qū)留言,咱們一起交流解決。
到此這篇關于使用jenv工具管理多個JDK版本的文章就介紹到這了,更多相關jenv管理多個JDK版本內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
IDEA創(chuàng)建SpringBoot的maven項目的方法步驟
這篇文章主要介紹了IDEA創(chuàng)建SpringBoot的maven項目的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04
Spring cloud alibaba之Ribbon負載均衡實現(xiàn)方案
Spring cloud Ribbon是基于Netflix Ribbon實現(xiàn)的一套客戶端的負載均衡工具,Ribbon客戶端提供一系列完善的配置,如超時、重試等,Ribbon也可以實現(xiàn)自己的負載均衡算法,感興趣的朋友跟隨小編一起看看吧2021-07-07
springboot整合minio實現(xiàn)文件存儲功能
MinIO?是一個基于Apache?License?v2.0開源協(xié)議的對象存儲服務,它兼容亞馬遜S3云存儲服務接口,非常適合于存儲大容量非結構化的數(shù)據,本文給大家介紹了springboot整合minio實現(xiàn)文件存儲功能,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下2023-12-12

