在Linux系统中安装JDK(Java Development Kit)是进行Java开发和运行Java程序的基础步骤,不同Linux发行版可能采用不同的安装方式,但核心流程和配置逻辑相似,本文将详细介绍Linux系统安装JDK的完整步骤,包括安装前准备、多种安装方法(手动安装与包管理器安装)、环境变量配置、安装验证及多版本管理,帮助用户顺利完成JDK的部署并正确获取版本信息。
安装前准备
在开始安装JDK前,需进行以下准备工作:
- 确认系统版本:不同Linux发行版(如Ubuntu、CentOS、Debian等)使用的包管理器和依赖管理方式不同,需先明确系统版本(可通过
lsb_release -a
或cat /etc/os-release
查看)。 - 检查是否已安装JDK:执行
java -version
或javac -version
命令,若已安装会显示版本信息;若提示“command not found”或版本不符,需卸载旧版本(可通过sudo apt purge openjdk-*
(Ubuntu/Debian)或sudo yum remove java-*
(CentOS/RHEL)彻底清理残留文件)。 - 选择JDK版本与类型:JDK分为OpenJDK(开源免费)和Oracle JDK(商业版,需遵守许可协议),主流开发推荐OpenJDK(如OpenJDK 8/11/17等长期支持版本),根据系统架构(x86_64或aarch64)从官网或仓库下载对应安装包。
手动安装JDK(以OpenJDK 17为例)
手动安装适用于需要指定JDK版本或包管理器仓库版本不满足需求的场景,步骤如下:
下载JDK安装包
访问OpenJDK官方下载页面(如https://jdk.java.net/17/)或镜像站点(如阿里云、华为开源镜像站),选择对应系统架构的tar.gz压缩包(以Linux x64为例),使用wget命令下载(需提前安装wget):
wget https://download.java.net/java/GA/jdk17/xxxxx/GPL/openjdk-17_xxx_linux-x64_bin.tar.gz # 替换为实际下载链接
校验文件完整性(可选)
为确保下载文件未被篡改,可使用SHA256校验和对比:
sha256sum openjdk-17_xxx_linux-x64_bin.tar.gz # 与官网提供的SHA256值对比
解压并安装到指定目录
创建JDK安装目录(通常为/usr/local/java
),解压下载的tar.gz包到该目录:
sudo mkdir -p /usr/local/java sudo tar -zxvf openjdk-17_xxx_linux-x64_bin.tar.gz -C /usr/local/java # 解压到目标目录
解压后,目录结构如下(以OpenJDK 17为例):
/usr/local/java/jdk-17/
├── bin/ # 可执行文件(java、javac等)
├── lib/ # Java库文件
├── conf/ # 配置文件
└── man/ # 帮助文档
配置环境变量
JDK的可执行文件和库需被系统识别,需配置JAVA_HOME
和PATH
环境变量,编辑全局配置文件/etc/profile
(对所有用户生效)或用户级配置文件~/.bashrc
(仅对当前用户生效),此处以全局配置为例:
sudo vim /etc/profile
在文件末尾添加以下内容(根据实际解压目录调整JAVA_HOME
路径):
export JAVA_HOME=/usr/local/java/jdk-17 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存后,使配置立即生效:
source /etc/profile
使用包管理器安装JDK
主流Linux发行版提供了通过包管理器安装JDK的方式,操作更简单且自动处理依赖关系,适合快速部署。
Ubuntu/Debian系统(使用apt)
# 更新软件包列表 sudo apt update # 安装OpenJDK 17(可根据需求更换版本,如openjdk-8-jdk) sudo apt install openjdk-17-jdk # 验证安装 java -version javac -version
CentOS/RHEL/Fedora系统(使用yum/dnf)
# CentOS 7及以下版本使用yum sudo yum install java-17-openjdk-devel # CentOS 8及以上版本使用dnf sudo dnf install java-17-openjdk-devel # 验证安装 java -version javac -version
不同发行版包管理器安装命令对比
| 发行版 | 包管理器 | 安装命令(以OpenJDK 17为例) | 备注 |
|————–|———-|————————————|————————–|
| Ubuntu 20.04+ | apt | sudo apt install openjdk-17-jdk
| 自动配置环境变量 |
| Debian 11 | apt | sudo apt install openjdk-17-jdk
| 需先更新软件包列表 |
| CentOS 7 | yum | sudo yum install java-17-openjdk-devel
| 需配置EPEL仓库(可选) |
| CentOS 8 | dnf | sudo dnf install java-17-openjdk-devel
| 默认包含OpenJDK仓库 |
验证JDK安装与版本信息
完成安装后,需通过命令验证JDK是否正确配置并获取版本信息:
检查Java版本
java -version
正常输出如下(以OpenJDK 17为例):
openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7-Ubuntu-124.04)
OpenJDK 64-Bit Server VM (build 17.0.8+7-Ubuntu-124.04, mixed mode, sharing)
检查JDK安装路径
通过echo $JAVA_HOME
确认环境变量是否正确配置:
echo $JAVA_HOME # 输出:/usr/local/java/jdk-17(手动安装)或/usr/lib/jvm/java-17-openjdk-amd64(包管理器安装)
检查javac编译器
Java开发需javac编译器,执行javac -version
确认是否安装:
javac -version # 输出:javac 17.0.8
管理多版本JDK(可选)
若需在同一系统中安装多个JDK版本(如开发项目需JDK 8,新项目需JDK 17),可通过update-alternatives
(Debian/Ubuntu)或alternatives
(CentOS/RHEL)实现版本切换。
注册JDK版本(以手动安装的OpenJDK 17为例)
# 注册JDK可执行文件路径(需替换为实际路径) sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk-17/bin/java 1717 sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk-17/bin/javac 1717
切换JDK版本
sudo update-alternatives --config java # 选择默认使用的JDK版本(输入编号即可)
同理可切换javac版本:
sudo update-alternatives --config javac
常见问题注意事项
- 权限问题:手动安装时,若解压到
/usr/local
目录需使用sudo
获取管理员权限;环境变量配置文件若为用户级(~/.bashrc
),无需sudo即可编辑。 - 环境变量冲突:若系统中已存在
JAVA_HOME
或PATH
配置,需确保新配置覆盖旧配置,避免路径冲突导致版本错误。 - 依赖缺失:使用包管理器安装时,若提示依赖包缺失(如
libc6-dev
),可通过sudo apt install libc6-dev
(Ubuntu)或sudo yum install glibc-devel
(CentOS)安装。
相关问答FAQs
问题1:安装JDK后执行java -version
显示版本与安装版本不一致,如何解决?
解答:首先检查环境变量配置是否正确(echo $JAVA_HOME
和echo $PATH
确认路径是否指向目标JDK);其次使用update-alternatives --config java
(Debian/Ubuntu)或alternatives --config java
(CentOS)检查并切换默认JDK版本;最后若存在多个JDK安装路径,需清理重复的环境变量配置,确保PATH
中$JAVA_HOME/bin
位于其他JDK路径之前。
问题2:如何在Linux系统中彻底卸载JDK?
解答:卸载方式取决于安装方式:
- 包管理器安装:Ubuntu/Debian系统执行
sudo apt purge openjdk-*
(purge
会删除配置文件),CentOS/RHEL系统执行sudo yum remove java-*
或sudo dnf remove java-*
; - 手动安装:删除JDK安装目录(如
sudo rm -rf /usr/local/java/jdk-17
),并编辑环境变量文件(/etc/profile
或~/.bashrc
)删除相关配置,最后执行source
命令使配置生效。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28989.html