温馨提示×

CentOS编译Java找不到JDK怎么办

小樊
66
2026-08-04 17:50:00
栏目: 编程语言

CentOS 上编译 Java 程序时提示“找不到 JDK”,通常是 JDK 未安装、未配置环境变量,或只装了 JRE。下面按常见情况一步步排查和解决。


一、先确认问题本质

1️⃣ 检查是否安装了 JDK

java -version
javac -version
  • java 有输出,但 javac 找不到 → 只装了 JRE,没有 JDK
  • ❌ 两个都提示 command not foundJDK 未安装或未配置环境变量

二、安装 JDK(最常见解决方案)

✅ 方式一:使用 yum(推荐,最简单)

CentOS 7

sudo yum install -y java-1.8.0-openjdk
sudo yum install -y java-1.8.0-openjdk-devel

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

CentOS 8 / Stream

sudo dnf install -y java-1.8.0-openjdk
sudo dnf install -y java-1.8.0-openjdk-devel

安装完成后验证:

javac -version

✅ 方式二:安装指定版本(如 Java 11 / 17)

sudo yum install -y java-11-openjdk java-11-openjdk-devel

sudo yum install -y java-17-openjdk java-17-openjdk-devel

三、如果已经安装但仍找不到 javac

1️⃣ 查找 JDK 安装位置

sudo find / -name javac 2>/dev/null

常见路径:

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

2️⃣ 配置环境变量(关键)

编辑配置文件:

vi ~/.bashrc

添加(示例):

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

使配置生效:

source ~/.bashrc

再次验证:

javac -version

四、如果你是用 make / mvn / gradle 编译

Maven

mvn -version

如果报错:

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

Gradle

gradle -version

五、常见错误对照表

错误信息 原因 解决方法
javac: command not found 没装 JDK 安装 java-*-openjdk-devel
JAVA_HOME not set 环境变量未配置 设置 JAVA_HOME
UnsupportedClassVersionError JDK 版本不匹配 使用对应版本 JDK
编译成功但运行报错 编译和运行 JDK 不一致 统一 JDK 版本

六、快速自检脚本(推荐)

echo "JAVA_HOME=$JAVA_HOME"
which java
which javac
java -version
javac -version

七、如果你愿意,我可以帮你:

  • ✅ 精确判断你 CentOS 版本
  • ✅ 给你 一行命令直接装好
  • ✅ 排查 Maven / Gradle / Jenkins / Docker 编译问题
  • ✅ 帮你 彻底卸载旧 JDK 并重新配置

只要把下面信息发我即可:

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

0