温馨提示×

centos为什么找不到java编译器

小樊
42
2026-10-12 03:53:17
栏目: 编程语言

在 CentOS 上“找不到 Java 编译器(javac)”,通常有以下几种常见原因和对应解决办法:


一、只装了 JRE,没装 JDK

最常见原因

  • java 能运行,但 javac 找不到
  • 说明你安装的是 JRE(Java Runtime Environment),而不是 JDK(Java Development Kit)

检查方式

which java
which javac

如果只有 java 没有 javac,就是这个问题。

解决办法(CentOS 7/8 示例)

CentOS 7

sudo yum install java-1.8.0-openjdk-devel

CentOS 8 / Stream

sudo dnf install java-1.8.0-openjdk-devel

或安装最新版:

sudo dnf install java-latest-openjdk-devel

二、JDK 装了,但 PATH 没配置

即使装了 JDK,javac 也可能不在 PATH 中。

查找 javac 位置

find / -name javac 2>/dev/null

通常路径类似:

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

配置环境变量

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

写入配置文件(推荐):

vi ~/.bashrc

追加上面两行,然后:

source ~/.bashrc

三、使用了 alternatives 但未配置

CentOS 使用 alternatives 管理 Java。

查看配置

alternatives --display java
alternatives --display javac

手动注册 javac

sudo alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-1.8.0-openjdk/bin/javac 1
sudo alternatives --config javac

四、最小化安装(Minimal Install)

CentOS 最小化安装默认 不含任何 Java。

解决方式就是直接安装 JDK(见第一节)。


五、确认版本验证

java -version
javac -version

两个命令都应正常输出。


快速总结

现象 原因 解决
java 有,javac 没有 只装 JRE 装 -devel
都装了但找不到 PATH 问题 配 JAVA_HOME
多版本混乱 alternatives 用 alternatives 配置

如果你愿意,可以把下面命令的输出贴出来,我可以帮你精确定位:

which java javac
rpm -qa | grep openjdk
echo $PATH

0 踩