必须安装Oracle JDK 11而非OpenJDK,因其满足WebLogic等商业软件对Oracle签名与证书链的强制要求;需登录官网下载Linux x64压缩包,上传至/usr/local/java并解压重命名为jdk11,严格配置/etc/profile中无空格的JAVA_HOME等环境变量,最后source生效并验证java/javac版本。

在CentOS 8服务器上部署Java应用前,必须安装Oracle JDK 11而非OpenJDK,因为部分商业软件(如WebLogic、某些Oracle中间件)明确要求Oracle JDK运行时签名与证书链,且不接受OpenJDK的替代实现。手动安装Oracle JDK 11需绕过官网登录下载限制,解压后严格配置环境变量路径,任何空格或拼写错误都会导致java命令失效。
下载Oracle JDK11压缩包
访问Oracle官网JDK 11归档页(https://www.oracle.com/java/technologies/javase-jdk11-downloads.html),选择“Linux x64”版本。注意:必须用浏览器登录Oracle账号才能下载,【wget或curl直接下载会返回仅几KB的HTML重定向文件,解压后报错tar: invalid tar header】。下载文件名类似 jdk-11.0.22_linux-x64_bin.tar.gz。
使用Xftp、MobaXterm或scp将该压缩包上传至服务器目标目录,推荐路径为 /usr/local/java。
创建目录并解压安装
执行以下命令创建目录并解压:
sudo mkdir -p /usr/local/java
sudo chown $USER:$USER /usr/local/java
cd /usr/local/java && tar -zxvf ~/Downloads/jdk-11.0.22_linux-x64_bin.tar.gz
解压后生成子目录 jdk-11.0.22。建议立即重命名为无版本号的统一路径,避免后续升级时反复修改环境变量:sudo mv jdk-11.0.22 jdk11。这一步不可跳过——若保留带点号和数字的原始目录名,在/etc/profile中引用时一旦写错小数点或漏掉数字,JAVA_HOME将指向不存在路径。
配置全局环境变量
编辑系统级配置文件:
sudo vim /etc/profile
在文件末尾追加以下四行(注意等号两侧【绝对不能有空格】,否则source后java命令仍不可用):
export JAVA_HOME=/usr/local/java/jdk11
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出后,立即加载新配置:source /etc/profile。此时尚未生效,因为当前shell会话未重新读取PATH,必须执行该命令。
验证安装是否成功
依次执行以下三条命令,全部通过才算完成:
echo $JAVA_HOME → 应输出 /usr/local/java/jdk11
java -version → 输出应含 java version "11.0.22" 及 Oracle Corporation
javac -version → 输出 javac 11.0.22


















