sudo apt update
sudo apt install openjdk-17-jdk-headless # LTS 版本
# 或安裝完整版(含 GUI 庫)
sudo apt install openjdk-17-jdk
sudo dnf install java-17-openjdk-devel # Fedora/CentOS 8+
# 或
sudo yum install java-17-openjdk-devel # CentOS 7
.tar.gz(如 jdk-17_linux-x64_bin.tar.gz)。sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /opt/java/
sudo mv /opt/java/jdk-17.0.x /opt/java/jdk-17
~/.bashrc 或 /etc/profile):
export JAVA_HOME=/opt/java/jdk-17
export JRE_HOME=$JAVA_HOME
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc
java -version
javac -version
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk list java # 列出可用版本
sdk install java 17.0.8-tem # 安裝 Temurin 17 LTS
sdk use java 17.0.8-tem # 切換版本
sdk default java 17.0.8-tem # 設為默認
snap install intellij-idea-community --classic 或官網下載 .tar.gz 解壓運行。snap install eclipse --classic。# Maven
sudo apt install maven
# Gradle
sudo apt install gradle
# 或用 SDKMAN 安裝特定版本
sdk install maven 3.9.4
sdk install gradle 8.2
| 現象 | 原因 | 解決 |
|---|---|---|
| command not found: java | PATH 未生效 | source ~/.bashrc 或重新登錄 |
| javac: command not found | 僅安裝 JRE | 安裝 JDK (openjdk-17-jdk / java-17-openjdk-devel) |
| 版本不一致 | 多 JDK 共存 | 用 update-alternatives --config java 或 SDKMAN 切換 |
| 權限不足 | /opt/java 屬主 root | sudo chown -R $USER:$USER /opt/java |
生產環境推薦 OpenJDK(Temurin/Adoptium)+ 系統包管理器;開發機推薦 SDKMAN 多版本共存。環境變量配置 JAVA_HOME、PATH 是核心,驗證 java -version 與 javac -version 確認編譯工具鏈完整。