Ubuntu環(huán)境下JDK環(huán)境變量配置過程詳解(適用于?JDK?1.8)
前言
在 Linux 系統(tǒng)(如 Ubuntu 16.04/18.04/20.04/22.04)中正確配置 JDK 環(huán)境變量,是開發(fā) Java 應(yīng)用、運行 Maven/Gradle 項目或部署 Java 服務(wù)(如 Spring Boot、Jenkins、Zabbix Java Gateway 等)的前提。本文將以 jdk1.8.0_181 為例,詳細(xì)說明如何通過 /etc/profile 或用戶級配置文件永久設(shè)置 JAVA_HOME、PATH 等關(guān)鍵環(huán)境變量。
一、配置內(nèi)容(以 JDK 安裝在/usr/local/jdk1.8.0_181為例)
將以下內(nèi)容添加到你的 shell 配置文件中(推薦使用 /etc/profile 以全局生效,或 ~/.bashrc 僅對當(dāng)前用戶生效):
# JDK 環(huán)境變量配置
export JAVA_HOME=/usr/local/jdk1.8.0_181
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}各變量說明:
| 變量名 | 作用說明 |
|---|---|
JAVA_HOME | JDK 安裝根目錄,是大多數(shù) Java 工具(如 Maven、Tomcat、Jenkins)識別 JDK 位置的關(guān)鍵變量。 |
JRE_HOME | JRE(Java 運行時環(huán)境)目錄,部分舊應(yīng)用依賴此變量。 |
CLASSPATH | Java 類路徑。開頭的 . 表示當(dāng)前目錄,后續(xù)添加 JDK 和 JRE 的核心庫。注意保留原有 $CLASSPATH。 |
JAVA_PATH | 非標(biāo)準(zhǔn)變量,僅為方便組合 bin 路徑(可選,也可直接寫入 PATH)。 |
PATH | 將 java、javac、jps 等命令加入系統(tǒng)命令搜索路徑,使終端可直接調(diào)用。 |
? 最佳實踐:
CLASSPATH通??墒÷裕ìF(xiàn)代 Java 應(yīng)用多通過-cp或構(gòu)建工具指定),但保留也無害。
二、配置步驟
方法 1:全局配置(推薦用于服務(wù)器)
# 編輯全局 profile 文件 sudo vim /etc/profile
將上述 JDK 配置追加到文件末尾,保存退出。
然后重新加載配置:
source /etc/profile
?? 注意:
/etc/profile對所有用戶生效,適用于運維部署場景(如 Jenkins 服務(wù)器、應(yīng)用主機(jī))。
方法 2:當(dāng)前用戶配置(適合開發(fā)機(jī))
# 編輯當(dāng)前用戶的 bashrc vim ~/.bashrc
同樣追加配置內(nèi)容,保存后執(zhí)行:
source ~/.bashrc
?? 提示:若使用
zsh,則應(yīng)修改~/.zshrc。
三、驗證配置是否生效
執(zhí)行以下命令檢查:
echo $JAVA_HOME # 輸出應(yīng)為:/usr/local/jdk1.8.0_181 java -version # 應(yīng)顯示:java version "1.8.0_181" javac -version # 應(yīng)顯示:javac 1.8.0_181 which java # 應(yīng)指向:/usr/local/jdk1.8.0_181/bin/java
若以上命令均輸出正確,說明配置成功。
四、常見問題與注意事項
1.JDK 路徑是否正確?
確保 /usr/local/jdk1.8.0_181 目錄確實存在,且包含 bin/java 文件。若從 Oracle 官網(wǎng)下載的是 .tar.gz 包,通常需手動解壓到該目錄:
sudo tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/
2.多版本 JDK 如何切換?
可使用 update-alternatives 管理多個 JDK:
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_181/bin/java 1 sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0_181/bin/javac 1 sudo update-alternatives --config java # 手動切換
3.Docker 或 systemd 服務(wù)中不生效?
- Docker:需在
Dockerfile中顯式設(shè)置環(huán)境變量。 - systemd 服務(wù):需在
.service文件的[Service]段使用Environment=顯式聲明,因為 systemd 不加載/etc/profile。
五、總結(jié)
通過在 /etc/profile 或用戶 shell 配置文件中正確設(shè)置 JAVA_HOME、PATH 等變量,可確保 Java 開發(fā)與運行環(huán)境在 Ubuntu 系統(tǒng)中穩(wěn)定可用。該配置適用于 Jenkins 構(gòu)建、Spring Boot 應(yīng)用部署、Zabbix Java Gateway 啟動等多種運維與開發(fā)場景。
?? 小技巧:在編寫 Jenkins Pipeline、Shell 部署腳本或自動化工具時,建議顯式指定
JAVA_HOME,避免因環(huán)境差異導(dǎo)致構(gòu)建失敗。
配置一次,受益長久!
到此這篇關(guān)于Ubuntu環(huán)境下JDK環(huán)境變量配置的文章就介紹到這了,更多相關(guān)Ubuntu下JDK環(huán)境變量配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文詳解Java如何實現(xiàn)將PowerPoint轉(zhuǎn)換為HTML
在日常開發(fā)和業(yè)務(wù)場景中,我們經(jīng)常會遇到將PowerPoint(PPT)演示文稿轉(zhuǎn)換為HTML的需求,本文將深入探討如何使用Java將PowerPoint文檔轉(zhuǎn)換為HTML,包括整體轉(zhuǎn)換和指定幻燈片轉(zhuǎn)換兩種場景,希望對大家有所幫助2025-12-12
Spring?Cloud?Gateway實現(xiàn)零拷貝參數(shù)校驗的完整指南
本文將深入探討在?Spring?Cloud?Gateway?中實現(xiàn)零拷貝參數(shù)校驗的完整方案,從問題背景、設(shè)計思路到具體實現(xiàn),提供可落地的實踐指導(dǎo),需要的朋友可以參考下2026-04-04
Java異步編程之Callbacks與Futures模型詳解
這篇文章主要為大家詳細(xì)介紹了Java異步編程中Callbacks與Futures模型的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03
如何在mapper文件中使用in("str1","str2")
這篇文章主要介紹了如何在mapper文件中使用in("str1","str2"),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01

