使用jenv工具管理多個(gè)JDK版本的方法步驟
一、jenv到底是干啥的?
簡(jiǎn)單來(lái)說,jenv就是專門用來(lái)管理多個(gè)Java版本的工具。不管是開發(fā)、測(cè)試,還是生產(chǎn)環(huán)境,只要你需要在同一臺(tái)機(jī)器上用不同的Java版本,它都能幫上大忙。比如說,項(xiàng)目A要求JDK 8,項(xiàng)目B得用JDK 11,有了jenv,就能輕松在這些版本之間切換,再也不用為了版本問題頭疼了。
二、jenv的核心功能
(一)管理多個(gè)Java版本
- 添加Java版本:想把已經(jīng)安裝好的Java版本添加到j(luò)env里,用這個(gè)命令就行:
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
,添加的時(shí)候就這樣寫:
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版本也很簡(jiǎn)單,可以全局切換,也能在局部(當(dāng)前目錄)切換。
jenv global 1.8 # 這就把全局的Java版本切換到JDK 8啦 jenv local 11 # 在當(dāng)前目錄下把Java版本切換成JDK 11
- 查看已安裝版本:要是想看看都安裝了哪些Java版本,直接用這個(gè)命令:
jenv versions
(二)支持插件擴(kuò)展
jenv支持插件,通過插件能擴(kuò)展它的功能。像Maven插件可以管理多個(gè)Maven版本,Gradle插件能管理多個(gè)Gradle版本,還有export
插件可以設(shè)置環(huán)境變量。啟用插件的命令也很簡(jiǎn)單:
jenv enable-plugin maven jenv enable-plugin gradle
(三)環(huán)境隔離
jenv可以給不同的項(xiàng)目或者目錄設(shè)置不一樣的Java版本,這樣就能避免全局環(huán)境沖突。比如全局想用JDK 11,就在終端輸入:
jenv global 11
要是某個(gè)項(xiàng)目得用JDK 8,在這個(gè)項(xiàng)目的目錄下運(yùn)行:
jenv local 1.8
這時(shí)候,當(dāng)前目錄下會(huì)生成一個(gè).java-version
文件,用來(lái)記錄這個(gè)目錄用的Java版本。
(四)自動(dòng)切換
jenv還有個(gè)很貼心的功能,就是自動(dòng)切換Java版本。當(dāng)你進(jìn)入一個(gè)包含.java-version
文件的目錄時(shí),jenv會(huì)自動(dòng)把Java版本切換到文件里指定的版本,是不是很方便?
(五)跨平臺(tái)支持
不管你用的是macOS、Linux,還是Windows(通過WSL也行),jenv都能在這些系統(tǒng)上使用,適配各種開發(fā)環(huán)境。
(六)與其他工具集成
jenv能和Maven、Gradle、Spring Boot這些開發(fā)工具無(wú)縫集成,保證這些工具用的都是正確的Java版本,避免因?yàn)榘姹静灰恢聦?dǎo)致的各種問題。
三、jenv的安裝和配置
(一)安裝jenv
在macOS上安裝jenv超簡(jiǎn)單,用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 | 查看已經(jīng)安裝的Java版本 |
jenv global <version> | 設(shè)置全局的Java版本 |
jenv local <version> | 設(shè)置當(dāng)前目錄的Java版本 |
jenv shell <version> | 設(shè)置當(dāng)前shell會(huì)話的Java版本 |
jenv add /path/to/java/home | 把Java版本添加到j(luò)env |
jenv enable-plugin <plugin> | 啟用插件,比如maven 、gradle |
jenv doctor | 檢查jenv的配置正不正確 |
五、jenv適用場(chǎng)景
- 要是你同時(shí)開發(fā)好幾個(gè)項(xiàng)目,每個(gè)項(xiàng)目要求的Java版本還不一樣,那jenv絕對(duì)是你的救星。
- 做不同Java版本兼容性測(cè)試的時(shí)候,用jenv能快速切換版本,效率直接拉滿。
- 擔(dān)心全局Java版本沖突?用jenv進(jìn)行環(huán)境隔離,完美解決這個(gè)問題。
- 想快速切換開發(fā)環(huán)境?有了jenv,一鍵切換Java版本。
六、jenv與其他工具對(duì)比
工具 | 功能 | 特點(diǎn) |
---|---|---|
jenv | 管理Java版本 | 輕量級(jí),還支持插件擴(kuò)展,用起來(lái)很靈活 |
SDKMAN | 能管理Java、Maven、Gradle等多種工具 | 功能更強(qiáng)大,適合管理多種開發(fā)工具的版本 |
Homebrew | 主要用來(lái)安裝和管理軟件包 | 安裝Java挺方便,但沒辦法進(jìn)行多版本切換 |
總的來(lái)說,jenv在管理Java版本這塊表現(xiàn)很出色,簡(jiǎn)單又好用。要是你還在被Java版本管理的問題困擾,不妨試試jenv!要是在使用過程中有啥問題,歡迎在評(píng)論區(qū)留言,咱們一起交流解決。
到此這篇關(guān)于使用jenv工具管理多個(gè)JDK版本的文章就介紹到這了,更多相關(guān)jenv管理多個(gè)JDK版本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SSH框架網(wǎng)上商城項(xiàng)目第22戰(zhàn)之銀行圖標(biāo)以及支付頁(yè)面顯示
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第22戰(zhàn)之銀行圖標(biāo)以及支付頁(yè)面顯示,感興趣的小伙伴們可以參考一下2016-06-06SpringBoot中使用AOP切面編程實(shí)現(xiàn)登錄攔截功能
本文介紹了如何使用AOP切面編程實(shí)現(xiàn)Spring Boot中的登錄攔截,通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-12-12Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化
這篇文章主要介紹了Java 并發(fā)編程學(xué)習(xí)筆記之Synchronized底層優(yōu)化的相關(guān)資料,主要包含了重量級(jí)鎖,輕量級(jí)鎖,偏向鎖和其他優(yōu)化等方面,有需要的小伙伴可以參考下2016-05-05SpringMVC如何獲取表單數(shù)據(jù)(radio和checkbox)
這篇文章主要介紹了SpringMVC如何獲取表單數(shù)據(jù)(radio和checkbox)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Java常用鎖synchronized和ReentrantLock的區(qū)別
這篇文章主要介紹了Java常用鎖synchronized和ReentrantLock的區(qū)別,二者的功效都是相同的,但又有很多不同點(diǎn),下面我們就進(jìn)入文章了解具體的相關(guān)內(nèi)容吧。需要的小伙伴也可以參考一下2022-05-05詳解Spring Boot 使用Spring security 集成CAS
本篇文章主要介紹了詳解Spring Boot 使用Spring security 集成CAS,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05