在 CentOS 上出现 Java 版本过低,通常不是“系统有问题”,而是默认软件源策略和使用方式导致的。下面从原因到解决办法给你讲清楚。
CentOS(尤其是 7)的官方仓库(yum)优先稳定性,而不是最新特性:
java-1.8.0-openjdkjava-11-openjdk✅ 所以你用:
yum install java
装出来的往往是 JDK 8
很多系统组件(如:
yumtomcat(旧版)依赖 OpenJDK 8,所以 CentOS 不会轻易升级默认 Java。
常见误区:
java -version
显示的是:
openjdk version "1.8.0_xxx"
但你可能实际需要 JDK 11 / 17。
which java
java -version
rpm -qa | grep java
yum install java-11-openjdk-devel
yum install java-17-openjdk-devel
alternatives --config java
选择你需要的版本。
tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /opt
export JAVA_HOME=/opt/jdk-17
export PATH=$JAVA_HOME/bin:$PATH
java-1.8.0-openjdk # 只有运行环境
java-1.8.0-openjdk-devel # 才是开发环境
source /etc/profile
CentOS Java 版本低,是因为“稳定优先 + 默认源旧”,不是系统坏了。
如果你愿意,可以告诉我:
我可以直接给你一步一步命令。