温馨提示×

centos为何找不到java编译器

小樊
35
2026-09-18 10:58:36
栏目: 编程语言

在 CentOS 上“找不到 Java 编译器”,通常并不是系统坏了,而是没有安装 JDK(Java Development Kit),只可能有 JRE,或者根本没装 Java。下面按常见原因和解决办法说明。


一、最常见原因:只装了 JRE,没装 JDK

Java 编译器是 javac,它只在 JDK 中,不在 JRE 中。

检查是否有 javac

javac -version

如果提示:

command not found

说明没有 JDK。

检查 Java 是否存在

java -version
  • java 但没 javac → 只装了 JRE
  • 都没有 → 完全没装 Java

二、CentOS 默认不安装 JDK

CentOS / RHEL 默认仓库里:

  • java-1.8.0-openjdk(这是 JRE
  • java-1.8.0-openjdk-devel(这才是 JDK,含 javac)

三、正确安装 JDK(推荐)

CentOS 7 / 8(使用 yum / dnf)

1️⃣ 安装 OpenJDK(含编译器)

# CentOS 7
yum install -y java-1.8.0-openjdk-devel

# CentOS 8
dnf install -y java-1.8.0-openjdk-devel

如果你需要 Java 11:

dnf install -y java-11-openjdk-devel

2️⃣ 验证

javac -version

四、装了 JDK 但仍找不到 javac?

1️⃣ 没配置 PATH(少见,但可能)

查看 java 安装位置:

which java
ls -l /usr/bin/java

JDK 一般在:

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

临时使用:

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

2️⃣ 没设置 JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

写入环境变量(推荐):

vi /etc/profile.d/java.sh

内容:

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

生效:

source /etc/profile

五、快速判断总结

现象 原因 解决
javac 不存在 没装 JDK -devel
javajavac 只装 JRE 装 JDK
装了还是找不到 PATH 问题 配置 PATH

如果你愿意,可以贴一下:

java -version
javac -version
cat /etc/centos-release

我可以帮你精确判断是哪一种情况。

0