在 CentOS 上 java 命令无效,通常是因为 Java 没有安装,或者没有正确配置环境变量。下面按常见原因一步步排查和解决。
执行:
java -version
如果提示:
-bash: java: command not found
说明系统找不到 java 命令。
CentOS 默认 不安装 JDK。
rpm -qa | grep java
# 或
which java
如果没有任何输出,说明没装。
# CentOS 7
yum install -y java-1.8.0-openjdk-devel
# CentOS 8 / Stream
dnf install -y java-1.8.0-openjdk-devel
安装后再次测试:
java -version
如果你只需要运行:
yum install -y java-1.8.0-openjdk
如果你是开发或跑 Spring / Maven / Tomcat:
✅ 一定要装 devel 版本
即使安装了,java 也可能不在 PATH 中。
find / -name java 2>/dev/null
常见路径:
/usr/lib/jvm/java-1.8.0-openjdk/bin/java
编辑:
vi /etc/profile
添加:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
生效:
source /etc/profile
CentOS 支持多版本 Java:
alternatives --config java
如果没有选项,说明没注册。
注册示例:
alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 1
bashecho $SHELL
zsh,改 ~/.zshrc 而不是 /etc/profile| 检查项 | 命令 |
|---|---|
| 是否安装 | `rpm -qa |
| 是否可找 | which java |
| 版本正常 | java -version |
| 环境变量 | echo $JAVA_HOME |
yum install -y java-1.8.0-openjdk-devel
java -version
如果你能贴出:
cat /etc/centos-release)java -version 的完整报错我可以给你精确的一行解决方案。