在 Debian 上配置 Java 时出问题,排查可以按由浅入深的顺序来做。下面给你一套实用排查清单,不用死记命令,照着来基本都能定位问题。
java -version
openjdk 17...)command not found → Java 没装或没进 PATHdpkg -l | grep -i jdk
dpkg -l | grep -i java
检查 java 命令在哪:
update-alternatives --list java
如果没有输出,说明没有注册 Java 候选。
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac 1
然后选默认版本:
sudo update-alternatives --config java
readlink -f $(which java)
例如:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
→ JAVA_HOME 应该是:
/usr/lib/jvm/java-17-openjdk-amd64
推荐方式(永久生效)
编辑:
sudo nano /etc/environment
加入:
JAVA_HOME="/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
update-alternatives --config java
如果看到多个版本,选你需要的。
检查当前生效的:
which java
java -version
sudo apt update
sudo apt install default-jdk
或指定版本:
sudo apt install openjdk-17-jdk
| 现象 | 原因 | 解决 |
|---|---|---|
java: command not found |
没装 / PATH 不对 | 安装或 update-alternatives |
JAVA_HOME is not set |
环境变量没配 | 配置 JAVA_HOME |
UnsupportedClassVersionError |
Java 版本不匹配 | 换 JDK 版本 |
| Tomcat / Maven 启动失败 | JAVA_HOME 没生效 | 环境写入 /etc/environment |
| 多个 Java 冲突 | 没配置 alternatives | update-alternatives --config java |
你可以直接把报错信息原样贴出来,比如:
cat /etc/os-release)我可以一步一步帮你精确修 ✅