亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

CentOS安裝配置多版本JDK詳細(xì)步驟記錄

 更新時(shí)間:2025年05月08日 10:07:33   作者:惡露發(fā)  
這篇文章主要給大家介紹了關(guān)于CentOS安裝配置多版本JDK的詳細(xì)步驟,分別是使用update-alternatives工具進(jìn)行全局切換和通過(guò)設(shè)置環(huán)境變量和alias進(jìn)行臨時(shí)切換,每種方法都提供了詳細(xì)步驟和示例代碼,需要的朋友可以參考下

1. 下載 JDK

你可以從 Oracle 官方網(wǎng)站或者 OpenJDK 的相關(guān)源下載不同版本的 JDK 安裝包。以 JDK 8 和 JDK 21 為例,假設(shè)你已經(jīng)將它們下載到了本地。

2. 安裝 JDK

創(chuàng)建一個(gè)用于存放 JDK 的目錄,然后將下載的 JDK 安裝包解壓到該目錄。

# 創(chuàng)建目錄
sudo mkdir -p /usr/local/java
# 解壓JDK 8
sudo tar -zxvf jdk-8u202-linux-x64.tar.gz -C /usr/local/java
# 解壓JDK 21
sudo tar -zxvf jdk-21_linux-x64_bin.tar.gz -C /usr/local/java

3. 配置環(huán)境變量

下面介紹兩種常用的方式,在 CentOS 10 系統(tǒng)上安裝并管理多個(gè) JDK 版本,一種是使用 update‐alternatives 工具進(jìn)行全局切換,另一種則是通過(guò)設(shè)置環(huán)境變量和 alias 來(lái)臨時(shí)切換。下面提供詳細(xì)步驟:

方法一:使用 update-alternatives 全局管理

這種方式可以在系統(tǒng)級(jí)別統(tǒng)一設(shè)置默認(rèn)使用哪個(gè) JDK。每個(gè) JDK 都注冊(cè)一個(gè)優(yōu)先級(jí),然后通過(guò)命令來(lái)切換默認(rèn)版本。

  • 注冊(cè)各個(gè)JDK
sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_xxx/bin/java 1
sudo update-alternatives --install /usr/bin/java java /usr/java/jdk-11.0_xxx/bin/java 2
sudo update-alternatives --install /usr/bin/java java /usr/java/jdk-17.0_xxx/bin/java 3

sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_xxx/bin/javac 1
sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk-11.0_xxx/bin/javac 2
sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk-17.0_xxx/bin/javac 3

其中“xxx”部分請(qǐng)?zhí)鎿Q為具體的版本號(hào)路徑。

  • 切換默認(rèn)JDK

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    

    系統(tǒng)會(huì)列出已注冊(cè)的各個(gè)版本,輸入對(duì)應(yīng)編號(hào)即可切換。

  • 驗(yàn)證版本

    執(zhí)行以下命令確認(rèn)當(dāng)前默認(rèn)版本:

    java -version
    javac -version
    

方法二:通過(guò)環(huán)境變量和 alias 切換(用戶(hù)級(jí)別)

這種方式適用于需要臨時(shí)切換 JDK 版本或者僅對(duì)當(dāng)前用戶(hù)生效的情況。

  • 編輯環(huán)境變量配置文件修改 /etc/profile(全局)或 ~/.bash_profile(當(dāng)前用戶(hù))文件,追加如下內(nèi)容(示例中配置了三個(gè) alias 命令):

    編輯完成后,記得保存退出(例如,在 vim 中按 Esc 后輸入 :wq 保存并退出;在 nano 中按 Ctrl+O 保存,然后 Ctrl+X 退出)。

    sudo vi /etc/profile
    sudo nano /etc/profile
    
    vim ~/.bash_profile
    nano ~/.bash_profile
    
    ## 默認(rèn)指向 JDK 8
    export JAVA_HOME=/usr/local/java/jdk1.8.0_202
    export PATH=$JAVA_HOME/bin:$PATH
    
    alias java8='export JAVA_HOME=/usr/local/java/jdk1.8.0_202 && export PATH=$JAVA_HOME/bin:$PATH && java -version'
    alias java21='export JAVA_HOME=/usr/local/java/jdk-21.0.6 && export PATH=$JAVA_HOME/bin:$PATH && java -version'
    ## alias java17='export JAVA_HOME=/usr/local/java/jdk-17.0_xxx && export PATH=$JAVA_HOME/bin:$PATH && java -version'
    

    保存文件后,讓配置生效:

    source /etc/profile   
    # 或者 
    source ~/.bash_profile
    
  • 切換 JDK 版本

    當(dāng)你需要切換到某個(gè)版本時(shí),只需執(zhí)行相應(yīng) alias 命令,例如:

    java21
    
  • 驗(yàn)證切換效果運(yùn)行:

    java -version
    

    以確認(rèn)當(dāng)前正在使用所設(shè)置的 JDK。

  • 持久化配置:當(dāng)前的配置只在當(dāng)前終端會(huì)話中生效。若希望每次開(kāi)啟終端都能使用這些配置,需要把它們添加到 shell 的配置文件中,像 ~/.bashrc(針對(duì) Bash shell)或者 ~/.zshrc(針對(duì) Zsh shell)。添加配置的命令示例如下:

    echo 'export JAVA_HOME=/usr/local/java/jdk1.8.0_202' >> ~/.bashrc
    echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
    echo 'alias java8='export JAVA_HOME=/usr/local/java/jdk1.8.0_202 && export PATH=$JAVA_HOME/bin:$PATH && java -version'' >> ~/.bashrc
    echo 'alias java21='export JAVA_HOME=/usr/local/java/jdk-21.0.6 && export PATH=$JAVA_HOME/bin:$PATH && java -version'' >> ~/.bashrc
    

    添加完成后,執(zhí)行以下命令讓配置生效:

    source ~/.bashrc
    
    • 錯(cuò)誤處理缺失:當(dāng)前配置沒(méi)有對(duì)目錄不存在或者 JDK 版本不可用的情況進(jìn)行錯(cuò)誤處理。你可以在 alias 命令里添加一些錯(cuò)誤檢查邏輯,示例如下:
    alias java8='if [ -d "/usr/local/java/jdk1.8.0_202" ]; then export JAVA_HOME=/usr/local/java/jdk1.8.0_202 && export PATH=$JAVA_HOME/bin:$PATH && java -version; else echo "JDK 8 目錄不存在"; fi'
    alias java21='if [ -d "/usr/local/java/jdk-21.0.6" ]; then export JAVA_HOME=/usr
    
  • update-alternatives 方法適合系統(tǒng)級(jí)別的 JDK 管理,適用于需要在不同項(xiàng)目間統(tǒng)一切換默認(rèn) JDK 的場(chǎng)景。

  • 環(huán)境變量和 alias 方法適合用戶(hù)臨時(shí)切換,或者針對(duì)不同需求(如開(kāi)發(fā)與測(cè)試)靈活設(shè)置。

總結(jié) 

到此這篇關(guān)于CentOS安裝配置多版本JDK的文章就介紹到這了,更多相關(guān)CentOS安裝配置多版本JDK內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • javaWEB實(shí)現(xiàn)相冊(cè)管理的簡(jiǎn)單功能

    javaWEB實(shí)現(xiàn)相冊(cè)管理的簡(jiǎn)單功能

    這篇文章主要介紹了javaWEB實(shí)現(xiàn)相冊(cè)管理的簡(jiǎn)單功能,包括圖片的上傳、統(tǒng)一瀏覽、單個(gè)下載、單個(gè)刪除,還有一個(gè)功能只能刪除自己上傳的文件,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 16 個(gè)有用的的Java工具類(lèi)(小結(jié))

    16 個(gè)有用的的Java工具類(lèi)(小結(jié))

    這篇文章主要介紹了16 個(gè)有用的的Java工具類(lèi),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • java封裝的概念和實(shí)現(xiàn)方法示例

    java封裝的概念和實(shí)現(xiàn)方法示例

    這篇文章主要介紹了java封裝的概念和實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了java封裝的概念、原理及相關(guān)使用技巧,需要的朋友可以參考下
    2019-11-11
  • Spring JDBCTemplate原理及使用實(shí)例

    Spring JDBCTemplate原理及使用實(shí)例

    這篇文章主要介紹了Spring JDBCTemplate原理及使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Spring Boot 中PageHelper 插件使用配置思路詳解

    Spring Boot 中PageHelper 插件使用配置思路詳解

    這篇文章主要介紹了Spring Boot 中PageHelper 插件使用配置及實(shí)現(xiàn)思路,通過(guò)引入myabtis和pagehelper依賴(lài),在yml中配置mybatis掃描和實(shí)體類(lèi),具體實(shí)現(xiàn)方法跟隨小編一起看看吧
    2021-08-08
  • Java StringBuffer類(lèi)與StringBuilder類(lèi)用法實(shí)例小結(jié)

    Java StringBuffer類(lèi)與StringBuilder類(lèi)用法實(shí)例小結(jié)

    這篇文章主要介紹了Java StringBuffer類(lèi)與StringBuilder類(lèi)用法,結(jié)合實(shí)例形式總結(jié)分析了Java StringBuffer類(lèi)與StringBuilder類(lèi)的功能、原理及添加、刪除、替換、截取等操作實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-03-03
  • 解析Java的JVM以及類(lèi)與對(duì)象的概念

    解析Java的JVM以及類(lèi)與對(duì)象的概念

    這篇文章主要介紹了解析Java的JVM以及類(lèi)與對(duì)象的概念,是Java入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • Spring Boot中的 6 種API請(qǐng)求參數(shù)讀取方式示例詳解

    Spring Boot中的 6 種API請(qǐng)求參數(shù)讀取方式示例詳解

    使用Spring Boot開(kāi)發(fā)API的時(shí)候,讀取請(qǐng)求參數(shù)是服務(wù)端編碼中最基本的一項(xiàng)操作,Spring Boot中也提供了多種機(jī)制來(lái)滿足不同的API設(shè)計(jì)要求,這篇文章主要介紹了Spring Boot中的 6 種API請(qǐng)求參數(shù)讀取方式示例詳解,需要的朋友可以參考下
    2024-05-05
  • 淺談Java異常的Exception e中的egetMessage()和toString()方法的區(qū)別

    淺談Java異常的Exception e中的egetMessage()和toString()方法的區(qū)別

    下面小編就為大家?guī)?lái)一篇淺談Java異常的Exception e中的egetMessage()和toString()方法的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • Java?Exception異常全方面分析

    Java?Exception異常全方面分析

    異常就是不正常,比如當(dāng)我們身體出現(xiàn)了異常我們會(huì)根據(jù)身體情況選擇喝開(kāi)水、吃藥、看病、等?異常處理方法。?java異常處理機(jī)制是我們java語(yǔ)言使用異常處理機(jī)制為程序提供了錯(cuò)誤處理的能力,程序出現(xiàn)的錯(cuò)誤,程序可以安全的退出,以保證程序正常的運(yùn)行等
    2022-03-03

最新評(píng)論