推荐在虚拟机linux中优先用apt/yum包管理器一键安装jdk(如ubuntu执行sudo apt install openjdk-17-jdk),其次用sdkman!管理多版本,手动解压仅用于离线或定制场景。

在虚拟机 Linux 环境下安装 JDK,核心目标是:快、稳、可复现、不污染系统。推荐优先用包管理器(APT/YUM),其次用 SDKMAN! 管理多版本,手动解压仅在必须指定版本或离线时使用。
用包管理器一键安装(最省心)
适用于 Ubuntu/Debian 或 CentOS/RHEL 虚拟机,无需下载、解压、配变量,系统自动处理依赖和路径。
-
Ubuntu/Debian:运行
sudo apt update && sudo apt install -y openjdk-17-jdk,安装后java -version即可见 OpenJDK 17 LTS -
CentOS/RHEL 8+:运行
sudo dnf install -y java-17-openjdk-devel -
CentOS/RHEL 7:运行
sudo yum install -y java-17-openjdk-devel - 安装位置默认在
/usr/lib/jvm/,环境变量已由系统配置好,开箱即用
用 SDKMAN! 灵活切换多版本(开发调试首选)
适合需要频繁切换 JDK 版本(如同时跑 Spring Boot 2.x 和 3.x)、或想统一管理多个发行版(Temurin、Zulu、Corretto)的场景。
- 执行
curl -s "https://get.sdkman.io" | bash安装 SDKMAN! - 运行
source "$HOME/.sdkman/bin/sdkman-init.sh"初始化 - 查看可用版本:
sdk list java(支持搜索,如sdk list java | grep tem) - 安装并设为默认:
sdk install java 17.0.2-tem && sdk default java 17.0.2-tem - 切换版本只需
sdk use java 11.0.22-tem,当前终端立即生效,不影响全局
手动解压安装(精准控制,适合离线或定制需求)
当虚拟机无外网、需特定小版本(如 JDK 8u391)、或要部署到固定路径(如 /opt/jdk)时使用。
- 下载 tar.gz 包(推荐从 Eclipse Temurin 或 Amazon Corretto 获取免许可、长期维护的 OpenJDK)
- 解压到目标目录:
sudo tar -zxvf jdk-17.0.2+8-linux-x64.tar.gz -C /opt/ - 配置环境变量(写入
~/.bashrc或/etc/profile):export JAVA_HOME=/opt/jdk-17.0.2+8export PATH=$JAVA_HOME/bin:$PATH - 生效:
source ~/.bashrc;验证:echo $JAVA_HOME和java -version
小贴士:虚拟机环境特别注意
安装前先确认系统架构和资源是否充足——运行 uname -m 看是 x86_64 还是 aarch64;free -h 确保内存 ≥2GB;df -h / 确保磁盘 ≥8GB。若虚拟机为最小化安装(如 CentOS minimal),可能需先装 tar、wget、curl 等基础工具。











