必须安装openjdk 8并精确配置java_home和path:先用sudo apt install openjdk-8-jdk安装,再用readlink -f $(which java)获取真实路径,最后在/etc/environment中设置java_home和path,注销重登录后验证java -version与javac -version均显示1.8.x。

在Ubuntu 20.04上部署OpenDaylight、Jenkins或编译Java项目时,必须正确配置JAVA_HOME和PATH,否则会出现“Command 'java' not found”或“JAVA_HOME is not set”等致命错误,导致后续所有Java相关服务启动失败。
确认OpenJDK 8已安装
打开终端,执行:
sudo apt update && sudo apt install -y openjdk-8-jdk
验证安装结果:
java -version
输出中必须包含 openjdk version "1.8. 字样,若显示“command not found”,说明未成功安装,需重试上一步;若显示11或17,则不是目标版本,必须卸载后重装8。
获取Java实际安装路径
运行:
readlink -f $(which java) | sed "s:/jre/bin/java::"
这条命令会精准剥离出JDK根目录,例如输出 /usr/lib/jvm/java-8-openjdk-amd64 —— 这就是你要用的完整路径。不要凭经验写成 /usr/lib/jvm/java-8-openjdk,少一个-amd64会导致后续配置完全失效。
注意:如果系统是ARM64架构(如树莓派),路径末尾可能是 -arm64,务必按实际输出复制。
全局配置JAVA_HOME与PATH
编辑系统级环境变量文件:
sudo nano /etc/environment
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
在文件末尾新增一行(⚠️不加export,不加引号,不换行):
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
再新增一行:
PATH="/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:$PATH"
保存退出后,必须注销当前用户并重新登录,或重启系统——仅执行 source /etc/environment 无效,因为该文件不由shell解释器直接加载。
验证配置是否生效
打开新终端窗口(关键!不能复用旧终端),依次执行:
第一步:检查JAVA_HOME值
echo $JAVA_HOME
第二步:确认是否指向你刚才填入的完整路径,且无空格、无乱码
第三步:测试java和javac是否可调用
java -version && javac -version
两行输出都应显示1.8.x版本号。若javac报错“command not found”,说明PATH中遗漏了bin目录,需返回上一节修正。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










