优先用包管理器安装jdk,ubuntu/debian执行sudo apt install openjdk-17-jdk,centos/rhel 8+执行sudo dnf install java-17-openjdk-devel;需装-devel包以含javac,验证时应确认java -version、javac -version及readlink -f $(which java)均指向正确路径。

Linux 系统通过包管理器安装 JDK 是最简单、最稳妥的方式,适合大多数开发和生产场景。它自动处理依赖、注册命令路径、配置基础环境,并支持系统级更新。
确认系统类型和可用版本
先查看你的发行版和架构:
- 运行 cat /etc/os-release 确认是 Ubuntu/Debian 还是 CentOS/RHEL/Rocky/AlmaLinux
- 运行 uname -m 确认是 x86_64 还是 aarch64(ARM)
- 搜索可用 JDK 包:
• Ubuntu/Debian:apt search openjdk-*
• CentOS/RHEL 8+:dnf search openjdk
• CentOS 7:yum search openjdk
执行对应安装命令
选好版本(推荐 LTS:11、17 或 21),直接安装带 -devel 的包——它包含 javac、jar 等开发工具,不是仅运行的 openjdk-*-jre:
-
Ubuntu/Debian(如 22.04+):
sudo apt update && sudo apt install -y openjdk-17-jdk -
CentOS/RHEL/Rocky 8+:
sudo dnf install -y java-17-openjdk-devel
若提示找不到包,先启用 CRB 仓库:sudo dnf config-manager --set-enabled crb -
CentOS 7:
sudo yum install -y java-17-openjdk-devel
验证是否真正装好
别只信 java -version,要确认三件事:
-
运行与编译都可用:
java -version和javac -version输出一致且含 “17” 或目标版本号 -
路径指向正确:
which java和which javac都应返回/usr/bin/java类路径;再查真实位置:readlink -f $(which java)应指向/usr/lib/jvm/java-17-openjdk-xxx/bin/java -
环境变量已就位(可选但推荐):
echo $JAVA_HOME可能为空——包管理器通常不自动设它,但不影响命令使用;如需 JAVA_HOME(例如 Maven、IDE),可手动补充,或用update-alternatives --config java查看并确认当前默认版本
多版本共存与切换
如果系统已有多个 JDK(比如同时装了 11 和 17),包管理器会自动注册进 update-alternatives:
- 列出所有 Java 版本:
sudo update-alternatives --list java - 交互式切换:
sudo update-alternatives --config java,按提示选编号即可 - 同样适用于
javac:sudo update-alternatives --config javac
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











