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

Ubuntu 安裝 JDK 6、Eclipse 並配置預設 Java 環境完整教程

     編輯:Java 相關知識

前言

Ubuntu 官方倉庫提供 OpenJDK 及 Eclipse 打包,但歷史專案常需 Oracle JDK 6 (舊版本已 EOL、安全風險高)。本文記錄 Ubuntu 下安裝 Oracle JDK 6 (或 OpenJDK 6/8/11/17)、配置 update-alternatives 切換預設 Java、安裝 Eclipse 並綁定正確 JDK 的完整流程,新專案請直接使用 OpenJDK 11/17 LTS 版本。

一、 安裝 Oracle JDK 6 (歷史專案維護專用)

⚠️ 警告: Oracle JDK 6 於 2013 年結束公開更新,無安全補丁,生產環境極不推薦。僅限離線/隔離環境維護舊系統。請優先評估遷移至 OpenJDK 8/11/17 LTS。

  1. 下載 jdk-6u45-linux-x64.bin (Oracle 官網需登錄賬號,或可信鏡像站)
  2. 賦予執行權限並安裝:
chmod +x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
# 解壓至當前目錄 jdk1.6.0_45
sudo mkdir -p /usr/lib/jvm
sudo mv jdk1.6.0_45 /usr/lib/jvm/java-6-oracle
  1. 註冊 alternatives:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-6-oracle/bin/java 100
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-6-oracle/bin/javac 100
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/java-6-oracle/bin/javaws 100
  1. 切換預設版本:
sudo update-alternatives --config java
# 選擇編號對應 java-6-oracle
sudo update-alternatives --config javac

二、 推薦方案:安裝 OpenJDK LTS 版本 (現代標準)

# Ubuntu 20.04 / 22.04 / 24.04
sudo apt update
sudo apt install openjdk-17-jdk-headless  # 或 openjdk-11-jdk-headless
# 驗證
java -version
# openjdk version "17.0.10" 2024-01-16
# OpenJDK Runtime Environment (build 17.0.10+7-Ubuntu-122.04)
# OpenJDK 64-Bit Server VM (build 17.0.10+7-Ubuntu-122.04, mixed mode, sharing)

OpenJDK 通過 update-alternatives 自動註冊,通常無需手動配置。

三、 設置 JAVA_HOME 與 CLASSPATH (環境變量持久化)

1. 系統級 (/etc/environment) — 影響所有用戶

sudo vim /etc/environment
# 追加 (按實際路徑修改)
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
CLASSPATH=".:$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
# 保存重啟或 source /etc/environment (需重新登錄 Shell 生效)

2. 用戶級 (~/.bashrc / ~/.profile) — 僅當前用戶

echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

四、 安裝 Eclipse IDE

1. 官方倉庫版 (版本較舊,但整合良好)

sudo apt install eclipse
# 啟動後 Help → About → Configuration Details 驗證 JDK 路徑

2. 官方安裝包版 (最新版,推薦開發者)

  1. 下載 eclipse-inst-jre-linux64.tar.gz (Eclipse Installer 含 JRE)
  2. 解壓並運行 ./eclipse-inst
  3. 選擇 Eclipse IDE for Enterprise Java and Web Developers
  4. 安裝目錄建議 /opt/eclipse 或 ~/eclipse

3. 綁定 JDK (關鍵步驟)

編輯 eclipse.ini (安裝目錄或 ~/.eclipse/.../eclipse.ini),在 -vmargs 前插入:

-vm
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
# 必須是單獨兩行,-vm 後跟 java 可執行文件絕對路徑

或設置環境變量啟動:

JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 ./eclipse

五、 修正 Eclipse 內部 JVM 配置 (針對 apt 安裝版)

Ubuntu apt 版 Eclipse 讀取 /etc/eclipse/java_home 與 /etc/jvm 確定 JDK:

echo "/usr/lib/jvm/java-17-openjdk-amd64" | sudo tee /etc/eclipse/java_home
echo "/usr/lib/jvm/java-17-openjdk-amd64" | sudo tee -a /etc/jvm

重啟 Eclipse,Help → About Eclipse IDE → Configuration Details 搜尋 java.home 驗證指向正確 JDK。

六、 多版本共存與切換最佳實踐

# 查看已註冊版本
update-alternatives --list java
# 手動切換
sudo update-alternatives --set java /usr/lib/jvm/java-17-openjdk-amd64/bin/java
sudo update-alternatives --set javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac

# 專案級隔離:使用 SDKMAN! (強烈推薦)
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install java 17.0.10-tem
sdk install java 21.0.2-tem
sdk use java 17.0.10-tem  # 當前 Shell 生效
sdk default java 17.0.10-tem  # 全域預設

七、 常見問題排查

現象原因解決
Eclipse 啟動報 JVM terminated. Exit code=1332/64 位不匹配 (Eclipse 64位需 64位 JDK)確保 Eclipse、JDK 位數一致,檢查 eclipse.ini -vm 指向
專案編譯錯誤 Unsupported class file major version 61JDK 版本低於類文件版本 (JDK 17 編譯需 JDK 17+ 運行)專案 Properties → Java Compiler → Compiler compliance level 匹配 JDK
Maven 編譯失敗 JAVA_HOME not setMaven 讀取環境變量 JAVA_HOME 為空設置 /etc/environment 或 ~/.mavenrc export JAVA_HOME
update-alternatives 提示 alternative path doesn't exist手動移動 JDK 目錄未更新 alternatives重新 --install 或 --remove 後再 --install

結語

Ubuntu 下 Java 環境配置核心是 update-alternatives 管理多版本、JAVA_HOME 明確指向、Eclipse -vm 綁定 JDK。拒絕手動修改系統軟鏈接,擁抱 SDKMAN! 實現專案級 JDK 隔離,讓歷史專案與現代開發和諧共存。

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