ubuntu 18.04 默认不预装 java,若 java -version 报 command not found,说明 jdk 未安装或环境变量未配置;需先确认 openjdk 11 已安装,再通过 readlink 定位 java_home,最后将 java_home、classpath 和 path 写入 ~/.bashrc 或 /etc/profile 并 source 生效。

Ubuntu 18.04 系统默认不预装 Java,执行 java -version 提示 command not found 时,说明 JDK 已安装但环境变量未配置或未生效,此时必须手动设置 JAVA_HOME 和 PATH 才能让 Java 命令全局可用、且重启终端后仍有效。
确认 OpenJDK 11 已安装并定位安装路径
先验证是否已通过 apt 安装成功:java -version 应输出类似 openjdk version "11.0.22" 的信息;若报错,请先执行 sudo apt install openjdk-11-jdk。
运行 update-alternatives --list java 查看 Java 可选项列表,通常返回 /usr/lib/jvm/java-11-openjdk-amd64/bin/java(amd64 架构)或 /usr/lib/jvm/java-11-openjdk-arm64/bin/java(ARM64)——【这个路径的父目录就是 JAVA_HOME 的值】。
直接提取标准路径:readlink -f $(which java) | sed 's|/bin/java||',结果应为 /usr/lib/jvm/java-11-openjdk-amd64(以实际输出为准)。
将环境变量写入用户级配置文件(推荐)
方法一:编辑当前用户的 ~/.bashrc
用 vim 或 nano 打开:nano ~/.bashrc。
在文件末尾追加三行(注意替换为你上一步查到的真实路径):
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH
保存退出后,立即生效:source ~/.bashrc。
这一步只影响当前用户,无需 root 权限,卸载或切换 JDK 时也只需改自己家目录下的文件,更安全。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
使环境变量对所有用户永久生效(需 root)
第一步:用 root 权限编辑系统级配置文件sudo nano /etc/profile
第二步:在文件末尾添加相同三行(路径必须与你机器上真实路径一致):export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH
第三步:让修改立即生效sudo source /etc/profile
⚠️ 注意:【不要漏掉 sudo,否则 source 失败】。该方式对所有新登录用户生效,包括 Jenkins、Tomcat 等服务账户,但修改后需重启已有终端或重新登录才能看到效果。
验证环境变量是否永久生效
关闭当前终端,新开一个终端窗口。
依次执行:
echo $JAVA_HOME → 应输出完整路径,如 /usr/lib/jvm/java-11-openjdk-amd64。
java -version → 显示版本号,且不报 command not found。
javac -version → 验证 javac 编译器是否可用(OpenJDK 11-jdk 包含它,但 jre 不包含)。










