在 CentOS 上编译/运行 Java 时出现“未找到命令”,常见原因和对应解决办法如下(按出现频率排序):
java -version
javac -version
java -version 都找不到命令 → Java 根本没装java -version 有输出,但 javac -version 没有 → 只装了 JRE,没装 JDK(编译需要 JDK)✅ 解决方法(安装 JDK):
sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
CentOS 7/8 推荐使用
java-11-openjdk-devel或java-17-openjdk-devel(根据项目)
即使装了 Java,如果 PATH 没包含 javac 路径,也会报:
javac: 未找到命令
which java
或
readlink -f $(which java)
通常路径类似:
/usr/lib/jvm/java-1.8.0-openjdk/bin/java
编辑:
vim ~/.bashrc
加入(示例):
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
验证:
javac -version
java 而不是 javac| 命令 | 作用 |
|---|---|
| java | 运行 .class |
| javac | 编译 .java |
❌ 错误示例:
java Hello.java
✅ 正确:
javac Hello.java
java Hello
最小化安装 不会自动安装 JDK
直接执行:
sudo yum install -y java-1.8.0-openjdk-devel
检查 PATH:
echo $PATH
确认包含:
/usr/lib/jvm/java-*/bin
sudo javac
可能会提示找不到命令。
✅ 解决:
sudo -i
javac
或:
sudo env PATH=$PATH javac
依次执行:
java -version
javac -version
echo $JAVA_HOME
echo $PATH
你可以直接把以下信息发我:
cat /etc/centos-release)我可以一步一步帮你排查 ✅