首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Linux 環境下 JDK 安裝與環境變數配置完整教學

     編輯:Java 相關知識

適用範圍

適用於主流 Linux 發行版(CentOS、Ubuntu、Debian、RHEL、Fedora 等),示範以 .bin 自解壓縮安裝包 方式手動部署 JDK,適合伺服器環境或需精確控制版本的場景。

步驟概覽

  1. 下載 JDK .bin 安裝包
  2. 賦予執行權限並解壓安裝
  3. 移動至標準目錄(/usr/java/)
  4. 配置系統級環境變數(/etc/profile.d/java.sh)
  5. 驗證安裝生效

詳細操作指令

1. 下載 JDK

# 範例:JDK 1.5.0_04 (舊版本示範,實務請下載 LTS 版如 8, 11, 17, 21)
wget https://download.oracle.com/otn-pub/java/jdk/1.5.0_04/jdk-1_5_0_04-linux-i586.bin
# 現代版本需至 Oracle 官網或採用 OpenJDK:https://jdk.java.net/

2. 解壓安裝

chmod +x jdk-1_5_0_04-linux-i586.bin
./jdk-1_5_0_04-linux-i586.bin
# 會在當前目錄產生 jdk1.5.0_04/ 目錄

3. 移至標準路徑

mkdir -p /usr/java
mv jdk1.5.0_04 /usr/java/
# 建議建立軟連結方便切換版本
ln -s /usr/java/jdk1.5.0_04 /usr/java/default

4. 設定環境變數(系統全域生效)

cat > /etc/profile.d/java.sh <<'EOF'
# JDK 環境變數配置
export JAVA_HOME=/usr/java/default
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
EOF

# 立即生效
source /etc/profile.d/java.sh

注意:JAVA_HOME 必須指向 JDK 根目錄(含 bin、lib 子目錄),而非 bin 目錄本身。CLASSPATH 現代專案通常由建構工具管理,系統級設定僅為相容舊專案。

5. 驗證安裝

java -version
# 預期輸出:
# java version "1.5.0_04"
# Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
# Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)

javac -version
# 輸出:javac 1.5.0_04

現代化最佳實踐補充

使用套件管理器安裝(推薦生產環境)

# Ubuntu / Debian
apt update && apt install openjdk-17-jdk-headless

# CentOS / RHEL / Fedora
dnf install java-17-openjdk-devel

# Arch Linux
pacman -S jdk17-openjdk

套件管理器會自動處理環境變數、替代連結(update-alternatives)與安全性更新。

多版本共存與切換

# 查看已安裝版本
update-alternatives --config java
update-alternatives --config javac

# 手動註冊自行下載的 JDK
update-alternatives --install /usr/bin/java java /usr/java/jdk-17/bin/java 100
update-alternatives --install /usr/bin/javac javac /usr/java/jdk-17/bin/javac 100

Docker 容器化部署

# Dockerfile 範例
FROM eclipse-temurin:17-jdk-alpine
WORKDIR /app
COPY . .
RUN ./mvnw package -DskipTests
ENTRYPOINT ["java","-jar","target/app.jar"]

常見問題排查

現象可能原因解決方案
java: command not foundPATH 未生效或 JAVA_HOME 錯誤重新 source /etc/profile 或重新登入;檢查 echo $JAVA_HOME
版本不符預期多版本共存、軟連結指向錯誤用 update-alternatives 切換或修正 JAVA_HOME
權限被拒目錄權限不足chmod -R 755 /usr/java/;確認執行檔有 x 權限
SSL/憑證錯誤舊版 JDK 憑證過期升級至支援中的 LTS 版本(8/11/17/21)

一言以蔽之:手動部署掌握核心原理,生產環境優先用套件管理器或容器化,版本鎖定在 LTS,環境變數集中管理於 /etc/profile.d/。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved