linux 安装 jdk 主要分为两种方式,一种是官方 tar.gz 压缩包手动解压配置,可控性最强,生产环境最常用,另一种是 yum apt 包管理器直接安装,操作简单但是版本选择受限,手动安装核心就是下载对应架构的 JDK 压缩包,解压到指定目录,然后通过 export 配置 JAVA_HOME 和 PATH 环境变量,写入 bashrc 实现永久生效,最后执行 java javac 命令验证版本,很多新手踩坑都是环境变量只临时生效,或者多版本 JDK 冲突,还有架构选错比如 x86_64 和 arm 包混用,导致启动报错,下面完整讲解 tar.gz 手动安装全流程,同时补充包管理器安装方案。
方案一 tar.gz 官方压缩包手动安装(推荐)
第一步 确认系统架构
执行 uname -m
x86_64 选择 linux x64 版本
aarch64 选择 arm64 版本
第二步 下载 JDK 压缩包
可以使用 wget 下载官方 JDK,比如 JDK8 JDK11 JDK17 长期支持版本,下载完成之后校验文件完整性
第三步 创建安装目录
mkdir -p /usr/local/java
第四步 解压压缩包
tar -zxvf jdk-xxx.tar.gz -C /usr/local/java
解压之后进入目录,确认 bin 文件夹存在,里面包含 java javac
第五步 配置永久环境变量
编辑配置文件
vi /etc/profile
或者用户级配置~/.bashrc
在文件末尾追加
export JAVA_HOME=/usr/local/java/jdk1.8.0_xxx
export PATH=JAVAHOME/bin:PATH
第六步 加载配置
source /etc/profile
或者 source ~/.bashrc
第七步 验证安装
java -version
javac -version
正常输出版本号就代表安装成功
方案二 包管理器快速安装
Ubuntu Debian
apt update
apt install openjdk-17-jdk
CentOS RHEL Rocky
yum install java-17-openjdk-devel
注意 包管理器安装的是 OpenJDK,不需要手动配置 JAVA_HOME,部分场景还需要手动补充 JAVA_HOME 变量
多版本 JDK 切换
如果服务器同时存在 JDK8 JDK11 JDK17,修改 /etc/profile 里面 JAVA_HOME 指向的目录,重新 source,就可以切换默认版本,也可以使用 alternatives 工具做系统级版本切换
常见问题排查
执行 java -version 提示 command not found,一般是 PATH 没有正确追加,或者 source 没有执行,配置文件路径写错
报错 cannot execute binary file,就是 JDK 包架构和 CPU 架构不匹配
配置完 root 用户生效,普通用户不生效,说明变量写在 root 家目录 bashrc,需要写入 /etc/profile 全局生效
javac 不存在,说明只安装 JRE,没有安装完整 JDK,包管理器安装要选择带 devel 后缀的包
两种安装方式对比表格
项目 tar.gz 手动安装 apt yum 包安装
版本选择 可以自由选择任意 LTS 版本 仓库版本固定
可控性 高 一般
适用场景 生产服务器 测试环境快速部署
是否需要手动配环境变量 需要 可选
【常见问题】
问题 1 linux 安装 jdk 完整步骤里面 JDK 和 JRE 区别是什么
回答 1 linux 安装 jdk 完整步骤里面,JDK 包含 JRE 和 javac 编译工具,开发编译项目必须装 JDK,如果只是运行 java 程序可以只用 JRE,这是 linux 安装 jdk 完整步骤基础知识点。
问题 2 linux 安装 jdk 完整步骤里面 source 之后新开终端又失效怎么办
回答 1 linux 安装 jdk 完整步骤里面,如果只写入~/.bashrc,部分登录 shell 不会自动加载,建议把 JAVA_HOME 配置写入 /etc/profile 全局文件,这是 linux 安装 jdk 完整步骤高频问题。
问题 3 linux 安装 jdk 完整步骤 可以同时安装多个 JDK 吗
回答 1 linux 安装 jdk 完整步骤里面支持多版本共存,修改 JAVA_HOME 指向不同解压目录即可切换,也可以使用 alternatives 管理,这是 linux 安装 jdk 完整步骤进阶内容。
【免责申明】
本文基于 Linux 通用 JDK 部署流程整理,不同发行版、JDK 厂商(Oracle JDK OpenJDK)授权协议有差异,Oracle JDK 商用需要遵守官方授权,操作前确认系统架构,修改系统配置前建议备份原文件。


