在 CentOS 上修复 java 命令,通常是因为 Java 未安装、路径未配置 或 版本冲突。下面按常见情况一步步排查和修复。
先确认报什么错:
java -version
常见情况:
command not found → Java 没装或 PATH 没配rpm -qa | grep java
alternatives --config java
如果提示:
no alternatives for java
说明系统没配置 Java 可选版本。
yum list available | grep java
sudo yum install -y java-1.8.0-openjdk
如需开发环境(含 javac):
sudo yum install -y java-1.8.0-openjdk-devel
其他版本示例:
java-11-openjdk
java-17-openjdk
1️⃣ 下载 JDK(Oracle 或 OpenJDK)
2️⃣ 解压到 /usr/local/java
tar -zxvf jdk-8uXXX-linux-x64.tar.gz
sudo mv jdk1.8.0_xxx /usr/local/java/
3️⃣ 配置环境变量 编辑:
sudo vi /etc/profile
添加:
export JAVA_HOME=/usr/local/java/jdk1.8.0_xxx
export PATH=$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
ls /usr/lib/jvm/
如果 java 在该目录但无法执行:
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0/bin/java 1
sudo alternatives --set java /usr/lib/jvm/java-1.8.0/bin/java
java -version
javac -version
echo $JAVA_HOME
正常输出示例:
java version "1.8.0_362"
OpenJDK Runtime Environment
✅ 解决:
/usr/bin/java 是否存在✅ 解决:
alternatives --config java
选择正确版本
✅ 解决(CentOS 8 已 EOL):
sudo dnf install java-1.8.0-openjdk
或切换到 vault 源
sudo yum install -y java-1.8.0-openjdk-devel
java -version
如果你愿意,可以把以下信息发我,我可以精确指导:
cat /etc/centos-release)java -version 报错内容