必须手动配置java_home和path系统变量,仅解压jdk到/usr/lib/jvm/还不够;需检查解压路径、重命名目录、编辑/etc/environment添加变量、source生效,并用echo、which、java -version三步验证。

要在Debian 11上让Maven、Gradle、IntelliJ IDEA等工具正确识别JDK 21,必须手动配置JAVA_HOME和PATH系统变量,仅解压JDK到/usr/lib/jvm/还不够——系统不会自动注册路径,不设变量会导致java -version报“command not found”,构建工具全部失效。
确认JDK已解压到位
先检查JDK是否已解压到标准位置:运行ls /usr/lib/jvm/,应看到类似jdk-21.0.4+7的文件夹名。若不存在,需先从Adoptium官网下载tar.gz包,用sudo tar -xzf OpenJDK21U-jdk_x64_linux_hotspot_21.0.4_7.tar.gz -C /usr/lib/jvm/解压。
【关键前提】解压后不能保留压缩包原名中的版本号后缀(如-jdk_x64_linux_hotspot),否则后续路径易出错;建议重命名为纯英文无符号的jdk-21,命令为:sudo mv /usr/lib/jvm/jdk-21.0.4+7 /usr/lib/jvm/jdk-21。
设置JAVA_HOME并注入PATH
编辑全局环境配置文件:sudo nano /etc/environment。
在文件末尾新增两行(注意等号两侧**不能有空格**):
JAVA_HOME="/usr/lib/jvm/jdk-21"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/jdk-21/bin"
保存退出后,执行source /etc/environment立即加载新变量(此步不可跳过,否则当前终端仍无效)。
验证变量是否生效
运行以下三条命令逐条验证:
echo $JAVA_HOME → 应输出/usr/lib/jvm/jdk-21,且末尾**不能带斜杠**;
which java → 应返回/usr/lib/jvm/jdk-21/bin/java;
java -version → 显示openjdk version "21.0.4" 2024-07-16及HotSpot字样即成功。
若which java返回/usr/bin/java,说明系统仍优先调用旧版或默认OpenJDK,需执行sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-21/bin/java 1注册,并用sudo update-alternatives --config java手动选中JDK 21。











