在 Ubuntu 上 Java 用不了,通常不是 Java 本身的问题,而是 环境没配置好。下面按“最常见原因 → 解决办法”给你系统排查一遍。
| 现象 | 原因 |
|---|---|
java: command not found |
没安装 Java / 没加入 PATH |
javac: command not found |
只装了 JRE,没装 JDK |
| 装了 Java 但终端还是找不到 | 没配置 JAVA_HOME 或没 update-alternatives |
| 版本不对 | Ubuntu 默认装了 OpenJDK,但你想要 Oracle JDK |
| 权限问题 | 文件没执行权限 |
| 系统架构问题 | 32/64 位不匹配(老版本常见) |
java -version
✅ 正常:
openjdk version "17.0.x"
❌ 错误:
Command 'java' not found
javac -version
❌ 如果提示找不到:
sudo apt install openjdk-17-jdk
(Ubuntu 22.04+ 推荐 17)
sudo apt update
sudo apt install openjdk-17-jdk
安装完成后:
java -version
javac -version
✅ 都能输出版本号就说明没问题。
sudo update-alternatives --config java
记下路径,例如:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
去掉 /bin/java:
/usr/lib/jvm/java-17-openjdk-amd64
编辑:
nano ~/.bashrc
在最后加:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
保存后执行:
source ~/.bashrc
验证:
echo $JAVA_HOME
java -version
sudo update-alternatives --config java
选择你需要的版本。
chmod +x java
或整个目录:
chmod -R +x /usr/lib/jvm/xxx/bin
| Ubuntu 版本 | 推荐 Java |
|---|---|
| 20.04 | OpenJDK 11 |
| 22.04 | OpenJDK 17 |
| 24.04 | OpenJDK 21 |
你可以直接把下面信息发我:
lsb_release -a)我可以一步一步帮你定位 ✅