linux mint 22中java_home未自动设置,需手动配置:先用java -version和readlink -f $(which java)确认openjdk 11安装路径,再编辑/etc/environment添加java_home="/usr/lib/jvm/java-11-openjdk-amd64"和path="$path:$java_home/bin",最后source /etc/environment并验证echo $java_home与javac -version。

Linux Mint 22 默认基于 Ubuntu 22.04,系统自带的 APT 仓库已预置 OpenJDK 11,但安装后 JAVA_HOME 环境变量不会自动设置,导致 Maven、Gradle、IDE 或脚本中调用 $JAVA_HOME 失败,编译或运行 Java 项目时提示“JAVA_HOME not set”。
确认OpenJDK 11是否已安装
打开终端,执行:java -version。若输出包含 openjdk version "11.(如 11.0.22),说明 JDK 已就绪;若提示命令未找到,则需先运行 sudo apt update && sudo apt install openjdk-11-jdk 安装。
再执行:readlink -f $(which java),返回路径类似 /usr/lib/jvm/java-11-openjdk-amd64/bin/java —— 其父目录 /usr/lib/jvm/java-11-openjdk-amd64 就是待配置的 JAVA_HOME 值,请复制该路径备用。
配置全局 JAVA_HOME(推荐所有用户生效)
编辑系统级环境文件:sudo nano /etc/environment。
在文件末尾新增两行(注意:不加 export,不加 $ 符号,等号两侧**不能有空格**):
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
PATH="$PATH:$JAVA_HOME/bin"
【关键】/etc/environment 是 shell 中立的初始化文件,只接受 KEY=VALUE 格式,写成 export JAVA_HOME=... 或 $JAVA_HOME/bin 写错位置会导致 PATH 断裂。
保存退出后,执行:source /etc/environment 立即加载新变量。
验证配置是否生效
新开一个终端窗口(或执行 bash 启动新 shell),运行:echo $JAVA_HOME。应准确输出你刚才填入的完整路径。
再运行:javac -version,确认输出 javac 11. 开头的版本号——这证明 $JAVA_HOME/bin 已成功加入 PATH,javac 可被直接调用。
最后测试跨会话持久性:关闭终端,重新打开,重复执行 echo $JAVA_HOME 和 javac -version,结果应与上一步完全一致。











