在 Ubuntu 上“找不到 Java 编译命令(如 javac)”通常有以下几种常见原因和对应解决办法:
最常见原因
java 能运行,但 javac 找不到java -version
javac -version
如果 javac 提示 command not found,就是这个问题。
sudo apt update
sudo apt install default-jdk
或指定版本:
sudo apt install openjdk-17-jdk
安装完成后:
javac -version
有时 JDK 装了,但环境变量没配置好。
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
sh 而不是 bash可检查:
echo $SHELL
which javac
java:运行 .class 文件javac:编译 .java 文件which java
which javac
echo $JAVA_HOME
ls /usr/lib/jvm
如果你愿意,可以把下面命令的输出贴出来,我可以帮你精确判断:
java -version
javac -version
ls /usr/lib/jvm