欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用jenv工具管理多個JDK版本的方法步驟

 更新時間:2025年06月12日 11:16:18   作者:壞習慣的叛逆者  
jenv是一個開源的?Java?環(huán)境管理工具,旨在幫助開發(fā)者在同一臺機器上輕松管理和切換多個Java版本,這篇文章主要介紹了使用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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Netty分布式客戶端接入流程初始化源碼分析

    Netty分布式客戶端接入流程初始化源碼分析

    這篇文章主要介紹了Netty分布式客戶端接入流程初始化源碼分析,有關channelConfig有關的初始化過程剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • Java獲得指定區(qū)間數(shù)的方法

    Java獲得指定區(qū)間數(shù)的方法

    這篇文章主要介紹了Java獲得指定區(qū)間數(shù)的方法,涉及java數(shù)值運算的相關技巧,需要的朋友可以參考下
    2015-05-05
  • Spring中的@ComponentScan注解使用詳解

    Spring中的@ComponentScan注解使用詳解

    這篇文章主要介紹了Spring中的@ComponentScan注解使用詳解,@ComponentScan 注解的作用就是根據指定的掃描路徑,把路徑中符合掃描規(guī)則的類裝配到 Spring 容器中,需要的朋友可以參考下
    2024-01-01
  • SpringMVC中處理靜態(tài)資源的過程詳解

    SpringMVC中處理靜態(tài)資源的過程詳解

    本文給大家介紹SpringMVC中處理靜態(tài)資源的過程,結合示例代碼給大家講解的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • IDEA創(chuàng)建SpringBoot的maven項目的方法步驟

    IDEA創(chuàng)建SpringBoot的maven項目的方法步驟

    這篇文章主要介紹了IDEA創(chuàng)建SpringBoot的maven項目的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Spring boot 總結之跨域處理cors的方法

    Spring boot 總結之跨域處理cors的方法

    本篇文章主要介紹了Spring boot 總結之跨域處理cors的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Spring cloud alibaba之Ribbon負載均衡實現(xiàn)方案

    Spring cloud alibaba之Ribbon負載均衡實現(xiàn)方案

    Spring cloud Ribbon是基于Netflix Ribbon實現(xiàn)的一套客戶端的負載均衡工具,Ribbon客戶端提供一系列完善的配置,如超時、重試等,Ribbon也可以實現(xiàn)自己的負載均衡算法,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • Java重寫與重載之間的區(qū)別

    Java重寫與重載之間的區(qū)別

    本文主要介紹了Java重寫與重載之間的區(qū)別。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • Java多線程之中斷線程(Interrupt)的使用詳解

    Java多線程之中斷線程(Interrupt)的使用詳解

    interrupt字面上是中斷的意思,但在Java里Thread.interrupt()方法實際上通過某種方式通知線程,并不會直接中止該線程
    2013-05-05
  • springboot整合minio實現(xiàn)文件存儲功能

    springboot整合minio實現(xiàn)文件存儲功能

    MinIO?是一個基于Apache?License?v2.0開源協(xié)議的對象存儲服務,它兼容亞馬遜S3云存儲服務接口,非常適合于存儲大容量非結構化的數(shù)據,本文給大家介紹了springboot整合minio實現(xiàn)文件存儲功能,文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-12-12

最新評論