mkdir -p /usr/java && cd /usr/javajdk-7u79-linux-x64.tar.gz(需接受許可協議)tar -zxvf jdk-7u79-linux-x64.tar.gz#set java environment
JAVA_HOME=/usr/java/jdk1.7.0_79
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
source /etc/profilejava -version優點: 版本可控、多版本共存易管理、無依賴倉庫限制。
缺點: 手動維護升級、需自行處理安全補丁。
yum search java | grep -i openjdkyum install -y java-1.7.0-openjdk-devel(含開發工具)/usr/lib/jvm/java-1.7.0-openjdk-xxxJAVA_HOME 指向實際路徑關鍵機制:alternatives 系統
/etc/alternatives 創建鏈接指向實際 JDK/usr/bin/java -> /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk/bin/javaalternatives --config javajava 命令,但 Tomcat 等仍需 JAVA_HOMEcurl -O https://download.oracle.com/.../jdk-7u79-linux-x64.rpmrpm -ivh jdk-7u79-linux-x64.rpm/usr/java/jdk1.7.0_79/usr/bin/java -> /usr/java/default/bin/java
/usr/java/default -> /usr/java/latest
/usr/java/latest -> /usr/java/jdk1.7.0_79
apt-cache search openjdk | grep -E '^openjdk-[0-9]+-jdk'apt-get update && apt-get install -y openjdk-7-jdk/usr/lib/jvm/java-1.7.0-openjdk-amd64dnf install java-17-openjdk-develapt install openjdk-17-jdkeclipse-temurin:17-jdk 或 amazoncorretto:17 基鏡構建,避免宿主機環境差異sdk install java 17.0.8-tem)、jEnv、asdfjava -version
javac -version
echo $JAVA_HOME
| 現象 | 原因 | 解決 |
|---|---|---|
java: command not found | PATH 未配置或未生效 | 檢查 /etc/profile、~/.bashrc,執行 source |
JAVA_HOME not set | Tomcat/Maven 等工具找不到 JDK | 設置 JAVA_HOME 指向 JDK 根目錄(含 bin、lib) |
| 版本不匹配 | 多 JDK 共存,alternatives 指向錯誤版本 | alternatives --config java 切換 |
| SSL/TLS 錯誤 | 舊版本缺乏現代加密套件支持 | 升級至 JDK 8u181+ / 11.0.1+ / 17+ |
四種安裝方式各有優勢:手動解壓最靈活、包管理器最省心、rpm 適合離線環境、容器化最適合現代雲原生部署。建議生產環境統一使用 OpenJDK LTS 版本並通過包管理器或容器鏡管理,配合 SDKMAN 實現開發機多版本切換。