温馨提示×

centos为啥找不到java编译命令

小樊
42
2026-09-12 05:21:22
栏目: 编程语言

在 CentOS 上“找不到 Java 编译命令(javac)”通常有以下几种常见原因,你可以对照看看:


1️⃣ 只装了 JRE,没装 JDK

javacJDK(Java Development Kit) 里的命令,而 JRE(Java Runtime Environment) 只有 java,没有 javac

检查方式

which java
which javac

如果 java 有,但 javac 没有,说明只装了 JRE。

解决(CentOS 7/8 示例)

# OpenJDK 8
yum install -y java-1.8.0-openjdk-devel

# 或 OpenJDK 11
yum install -y java-11-openjdk-devel

⚠️ 一定要带 -devel,否则没有 javac


2️⃣ JDK 装了,但环境变量没配置

即使装了 JDK,如果 PATH 里没包含 javac 路径,也会提示找不到。

查找 javac 位置

find / -name javac 2>/dev/null

常见路径:

/usr/lib/jvm/java-1.8.0-openjdk/bin/javac

配置环境变量(示例)

vi /etc/profile

添加:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH

使配置生效:

source /etc/profile

3️⃣ 使用的是 alternatives 但没配置

CentOS 常用 alternatives 管理 Java。

alternatives --config java
alternatives --config javac

如果 javac 没出现,说明没注册。


4️⃣ CentOS 最小化安装(Minimal)

Minimal 版默认 不装任何 Java

java -version

如果直接报 command not found,说明啥都没装。


5️⃣ 你用的是 java 而不是 javac

  • java ➜ 运行 .class
  • javac ➜ 编译 .java

很多人误以为 java Test.java 能编译,其实不行(Java 11+ 才支持单文件直接运行)。


✅ 快速自查清单

java -version
javac -version
which javac
rpm -qa | grep jdk

如果你愿意,可以把下面命令的输出贴出来,我可以直接帮你判断是哪一种情况:

which java javac
java -version
rpm -qa | grep jdk

0