在 Linux 环境下安装 JDK 主要有两种方式:包管理器安装(简单快捷) 和 手动下载安装(灵活,可指定特定版本) 。
以下是针对主流发行版(Ubuntu/Debian 和 CentOS/RHEL)的详细教程。
方法一:使用包管理器安装
适用场景:快速搭建环境,不强制要求特定小版本号,追求稳定和维护方便。
优点:一条命令搞定,自动配置环境变量 **,随系统更新。
1. Ubuntu / Debian 系统
# 1. 更新软件源
sudo apt update
# 2. 安装 OpenJDK (推荐安装 LTS 长期支持版,如 17)
# 安装 JDK 17:
sudo apt install -y openjdk-17-jdk
# 3. 验证安装
java -version
javac -version
2. CentOS / RHEL / Rocky Linux 系统
# 1. 安装 OpenJDK (CentOS 8+/RHEL 8+ 使用 dnf,旧版用 yum)
# 安装 JDK 17:
sudo dnf install -y java-17-openjdk-devel
# 如果提示找不到包,可能需要先启用 CRB 仓库 (CentOS 8/9):
# sudo dnf config-manager --set-enabled crb
# 2. 验证安装
java -version
javac -version
注意:包名中带 devel 表示包含编译器 (javac),只装 java-17-openjdk 只有运行环境 (java)。开发必须装 devel 版本。
Tip: 为什么包管理器安装的 JDK 不需要手动配置环境变量?
原理: update-alternatives或alternatives 系统
当你通过 apt或yum 安装 OpenJDK 时,系统会自动完成以下配置:
1.自动注册到 alternatives 系统
# 查看已注册的 Java 版本
sudo update-alternatives --config java
# 查看已注册的 Java 版本
sudo alternatives --config java
输出示例:
There is 1 choice for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 auto mode
Press <enter> to keep the current choice[*], or type selection number:
2.自动创建符号链接
/usr/bin/java→ 指向实际安装路径(如/usr/lib/jvm/java-17-openjdk-amd64/bin/java)/usr/bin/javac→ 指向编译器路径
3.PATH 已包含 /usr/bin
- 系统默认
PATH已包含/usr/bin,因此直接可用java命令
4.环境变量文件存放位置
| 配置项 | 位置 | 说明 |
|---|---|---|
| Java 可执行文件 | /usr/bin/java | 符号链接,由 update-alternatives管理 |
| 实际安装路径 | /usr/lib/jvm/java-17-openjdk-amd64/ | JDK 完整安装目录 |
| alternatives 配置 | /var/lib/dpkg/alternatives/(Ubuntu / Debian 系统) | 存储各备选项组的元数据和状态 |
/var/lib/alternatives/(CentOS / RHEL 系统) | 存储各备选项组的元数据和状态 |
方法二:下载安装
适用场景:需要特定版本(如 Oracle JDK 8/11/17),或服务器无法联网,或需要安装在特定目录。
优点:完全控制安装路径和版本,不影响系统自带 Java。
步骤 1:下载 JDK
(1)下载 OpenJDK (Adoptium/Temurin)
- 下载地址:下载地址:adoptium.net/ 或www.oracle.com/java/techno…
- 示例命令 (以 JDK 17 x64 为例):
cd /tmp
# 下载 Temurin JDK 17
wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz
(2)百度网盘下载
链接 **:pan.baidu.com/s/1wk7-iJVr…
提取码:btev
复制这段内容打开「百度网盘APP 即可获取」
ps: 将下载的redis安装包通过SSH工具把下载的安装包上传到服务器(我用的finalshell)
步骤 2:解压到指定目录
通常建议放在 /usr/local/java 目录下
# 创建目录(如果有则不需要创建目录)
sudo mkdir -p /usr/local/java
# 解压 (请替换为实际文件名)
sudo tar -zxvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz -C /usr/local/java
# 重命名为简洁名字 (可选)
sudo mv /usr/local/java/jdk-17.0.12 /usr/local/java/jdk-17
步骤 3:配置环境变量
需要配置 JAVA_HOME 和 PATH。
方式 1:全局配置(推荐,对所有用户生效)
# 创建配置文件
sudo vim /etc/profile.d/java.sh
ps: 不建议把JDK环境变量配置信息放在/etc/profile,应放在/etc/profile.d目录下。/etc/profile和 /etc/profile.d 是 Linux 系统中管理全局环境变量的两个关键部分,它们的关系可以概括为: “主配置文件”与“模块化扩展目录” 的关系。具体原因请访问这篇博客
写入以下内容:
export JAVA_HOME=/usr/local/java/jdk-17 # jdk安装目录
export PATH=$JAVA_HOME/bin:$PATH
保存退出后,使配置生效:
source /etc/profile.d/java.sh
方式 2:仅当前用户生效
编辑 ~/.bashrc 或 ~/.zshrc,追加 export 内容。
vim ~/.bashrc #编辑~/.bashrc
export JAVA_HOME=/usr/local/java/jdk-17 # jdk安装目录
export PATH=$JAVA_HOME/bin:$PATH
更新配置
source ~/.bashrc
步骤 4:验证安装
# 查看版本
java -version
# 查看Java路径
echo $JAVA_HOME
如果输出了版本号且 $JAVA_HOME 路径正确,则安装成功。
常见问题与多版本管理
1. 如何切换多个 JDK 版本?
详细操作请看这篇博客