在雲服務器部署 Java 應用的第一步是安裝 JDK。本文記錄在阿里雲 CentOS 7 上通過官方下載鏈接獲取 JDK 8、解壓安裝、配置永久環境變量並驗證的完整步驟,避開 wget 直接下載 Oracle 官網需接受許可協議的坑。
Oracle 官網下載頁面有跳轉且需勾選許可協議,直接 wget 只會得到 HTML 頁面。使用帶 Cookie 的 wget 命令繞過驗證:
wget --no-cookies --no-check-certificate \ --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" \ "https://download.oracle.com/otn-pub/java/jdk/8u74-b02/jdk-8u74-linux-x64.tar.gz"
--no-cookies --no-check-certificate:忽略 Cookie 驗證與 SSL 證書檢查。--header "Cookie: ... oraclelicense=accept-securebackup-cookie":模擬瀏覽器已接受許可協議。8u371),官網複製鏈接地址即可。替代方案:本地下載後用 scp 或 rz 上傳服務器,避開網絡/許可問題。
# 1. 進入 /usr 目錄(習慣放置軟件) cd /usr # 2. 創建 java 目錄 mkdir java cd java # 3. 解壓(假設安裝包在 /root 下) tar -zxvf /root/jdk-8u74-linux-x64.tar.gz # 4. 查看解壓後的目錄名(通常為 jdk1.8.0_74) ls -l # 輸出示例:drwxr-xr-x 8 root root 4096 Jan 18 10:00 jdk1.8.0_74
編輯當前用戶的 ~/.bash_profile(登錄 Shell 讀取),或 /etc/profile(全局生效):
vi ~/.bash_profile
在文件末尾追加(按 i 進入插入模式):
# JDK 環境變量 export JAVA_HOME=/usr/java/jdk1.8.0_74 export JRE_HOME=$JAVA_HOME/jre export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
:,非分號 ;(Windows 風格)。CLASSPATH 以 . 開頭表示當前目錄。保存退出:按 Esc → 輸入 :wq! → 回車。
五、常見問題排查
| 現象 | 原因 | 解決 |
|---|---|---|
command not found | PATH 未生效或路徑錯誤 | 檢查 echo $PATH 包含 $JAVA_HOME/bin,重新 source 或重新登錄 |
| 版本不符 | 系統預裝 OpenJDK 衝突 | alternatives --config java 切換優先級,或 yum remove java-1.7.0-openjdk* |
| 解壓報錯 | 文件損壞/非 tar.gz | file jdk-8u74-linux-x64.tar.gz 確認類型,重新下載 |
| 權限不足 | 非 root 執行 mkdir /usr/java | 使用 sudo 或切換 root |
#!/bin/bash # install_jdk8.sh JDK_URL="https://download.oracle.com/otn-pub/java/jdk/8u371-b11/jdk-8u371-linux-x64.tar.gz" INSTALL_DIR="/usr/java" JDK_VER="jdk1.8.0_371" wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" -P /tmp "$JDK_URL" mkdir -p "$INSTALL_DIR" tar -zxf /tmp/$(basename "$JDK_URL") -C "$INSTALL_DIR" cat >> /etc/profile <賦予執行權限
chmod +x install_jdk8.sh,以 root 運行即可完成全自動安裝配置。總結
掌握「帶 Cookie 下載 → 統一目錄解壓 →
~/.bash_profile//etc/profile配置JAVA_HOME/PATH/CLASSPATH→source生效 →java -version驗證」這套標準流程,能在任何 CentOS/RHEL 系列 Linux 上快速落地 Java 運行環境,為後續部署 Tomcat、Spring Boot、微服務組件打下基礎。