在 Ubuntu 上出现 “Java 无法识别”(比如 java: command not found 或 javac: command not found),通常不是 Java 没装,而是 系统找不到 Java 的路径。下面按最常见原因一步步排查。
Ubuntu 默认不自带 Java。
检查是否安装:
java -version
如果输出类似:
Command 'java' not found
说明 Java 没有安装。
✅ 安装 Java(推荐):
sudo apt update
sudo apt install openjdk-17-jdk
其他版本:
openjdk-8-jdk
openjdk-11-jdk
openjdk-21-jdk
java ✅ 可以运行javac ❌ 找不到检查:
javac -version
如果找不到,说明 只装了 JRE。
✅ 解决:
sudo apt install openjdk-17-jdk
即使 Java 已安装,如果 JAVA_HOME 或 PATH 没配置,也会被“识别不到”。
sudo update-alternatives --config java
通常会看到类似:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
编辑:
nano ~/.bashrc
添加(示例):
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
验证:
java -version
javac -version
echo $JAVA_HOME
查看:
update-alternatives --list java
切换默认 Java:
sudo update-alternatives --config java
环境变量 只对当前用户 & 当前 shell 生效
source ~/.bashrc一步一步执行:
java -version
javac -version
echo $JAVA_HOME
which java
把结果贴出来,我可以 直接帮你定位是哪一步出问题。
java: command not found
✅ 含义:Java 没装 or PATH 没配
javac: command not found
✅ 含义:没装 JDK
apt 装的还是手动下载的?我可以 精确告诉你该执行哪几行命令。