在 CentOS 上“装不了 Java”通常不是系统不支持,而是卡在源、权限、版本选择或命令用错这几类问题上。下面按最常见原因给你排一遍,基本都能对号入座。
yum install java
报错:
You need to be root to perform this command.
✅ 解决:
sudo yum install java-1.8.0-openjdk
CentOS 8 官方源已下线,直接 yum 会报错:
Error: Failed to download metadata for repo 'AppStream'
✅ 解决(二选一):
方案 A:换 vault 源(CentOS 8)
sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
sudo yum makecache
方案 B:用 dnf(CentOS 8 推荐)
sudo dnf install java-11-openjdk
有些 Java 包在:
BaseAppStreamPowerTools✅ 检查:
yum repolist
如果 AppStream 没启用:
sudo yum config-manager --set-enabled AppStream
java -version
能用,但:
javac -version
找不到
✅ 解决:
sudo yum install java-1.8.0-openjdk-devel
你以为“装不了”,其实是:
java 命令找不到✅ 正确做法:
tar -xzf jdk-8uXXX-linux-x64.tar.gz -C /usr/local/
vi /etc/profile
加:
export JAVA_HOME=/usr/local/jdk1.8.0_xxx
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
比如:
✅ 检查:
uname -m
应该是:
x86_64
sudo yum install java-1.8.0-openjdk-devel
sudo dnf install java-11-openjdk-devel
如果你愿意,把下面信息发我,我能精准定位:
cat /etc/redhat-release)我可以直接给你一条能跑的命令。