必须用apt安装openjdk-8-jdk并设JAVA_HOME为/usr/lib/jvm/java-8-openjdk-amd64;手动解压或错配JRE路径会导致javac缺失、mvn编译失败及IDE识别异常。

要在Ubuntu 22.04上运行依赖Java 8的老项目或构建工具(如Maven 3.2.x、某些Android SDK组件),必须准确安装JDK 8并正确设置JAVA_HOME,否则javac编译失败、mvn命令报错或IDE识别不到SDK路径。
用apt安装OpenJDK 8
打开终端,执行以下命令:
sudo apt update && sudo apt install -y openjdk-8-jdk
这一步会自动安装JDK 8完整版(含jre、javac、jar等),比只装jre-headless更稳妥——后者缺少编译器,无法执行mvn compile或gradle build。
立即学习“Java免费学习笔记(深入)”;
验证是否安装成功:
java -version
输出应包含openjdk version "1.8.0_*字样,说明已就位。
确认JAVA_HOME实际路径
Ubuntu通过update-alternatives管理多版本Java,路径不固定。直接查真实安装位置:
readlink -f $(which java) | sed "s:/jre/bin/java::"
典型输出为/usr/lib/jvm/java-8-openjdk-amd64——这就是你要的JAVA_HOME值。注意:别硬写/usr/lib/jvm/java-8-openjdk-amd64/jre,那是JRE路径,设错会导致maven插件找不到tools.jar。
【关键前提】该路径必须存在且包含bin/javac和lib/tools.jar,否则后续配置无效。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
配置JAVA_HOME到用户环境
编辑当前用户的shell配置文件:
nano ~/.bashrc
在文件末尾追加三行:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
保存退出后立即生效:
source ~/.bashrc
检查变量是否生效:
echo $JAVA_HOME
应精确输出刚才确认的路径,无多余空格或换行。
验证JAVA_HOME是否被工具识别
第一步:运行java -version,确保显示JDK 8版本;
第二步:运行javac -version,确认编译器可用;
第三步:运行mvn -v(若已安装Maven),观察输出中Java version: 1.8.0_*和JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64同时出现——这表示Maven真正读取到了你设的JAVA_HOME,不是fallback到系统默认值。

















