温馨提示×

ubuntu为何找不到java编译命令

小樊
41
2026-10-16 02:49:23
栏目: 编程语言

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


一、只装了 JRE,没有装 JDK

最常见原因

  • java 能运行,但 javac 找不到
  • 说明只安装了 JRE(Java 运行环境),没有 JDK(Java 开发工具包)

检查

java -version
javac -version

如果 javac 提示 command not found,就是这个问题。

解决(安装 JDK)

sudo apt update
sudo apt install default-jdk

或指定版本:

sudo apt install openjdk-17-jdk

安装完成后:

javac -version

二、JDK 已安装,但不在 PATH 中

有时 JDK 装了,但环境变量没配置好。

查找 javac 位置

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

常见路径:

/usr/lib/jvm/java-17-openjdk-amd64/bin/javac

临时使用

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

永久配置(推荐)

nano ~/.bashrc

添加:

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

然后:

source ~/.bashrc

三、使用了错误的终端或 shell

  • 在 图形界面终端 可以,但 SSH / 脚本 不行
  • 或使用了 sh 而不是 bash

可检查:

echo $SHELL
which javac

四、误以为 java = javac

  • java:运行 .class 文件
  • javac:编译 .java 文件
    二者不同,必须装 JDK

五、快速自检清单 ✅

which java
which javac
echo $JAVA_HOME
ls /usr/lib/jvm

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

java -version
javac -version
ls /usr/lib/jvm

0 踩