Linux(CentOS Stream 9) 安装 Java JDK 17 (源码方式安装)【图文详细教程】

这里我选择安装的 Java JDK 的版本为 17

Java JDK 下载

这里选择下载压缩包形式的 Java JDK,下载完成后,我们只需要对压缩包进行解压,将解压后的文件夹放到 CentOS Stream 9 的 /usr/local/java 目录下,然后再配置系统环境变量就可以了

下载网址:https://www.oracle.com/cn/java/technologies/downloads/#java17

先运行如下命令,查看 CentOS Stream 9 的系统架构,然后根据操作系统的系统架构选择合适的 Java JDK 压缩包进行下载

bash 复制代码
arch

x86_64:64 位系统架构

i686 或 i386:32 位系统架构

由于系统架构为 x64,所以选择下载 x64 Compressed Archive

Java JDK 发送至 CentOS Stream 9

Java JDK 压缩包下载完成后,这里我直接使用 xftp 将其上传至 CentOS Stream 9 中的 /usr/local/java 目录下

Java JDK 安装

在将 Java JDK 压缩包发送到 CentOS Stream 9 中的 /usr/local/java 目录下之后,我们可以运行如下命令,对 Java JDK 压缩包进行解压,将其中的内容解压到 /usr/local/java/ 目录下

bash 复制代码
cd /usr/local/java

tar -zxvf ./jdk17.tar.gz

-z:使用 gzip 压缩算法对压缩包进行解压

-x:对压缩包指定解压操作

-v:显示解压的过程

-f:指定要处理的压缩包文件


将 Java JDK 压缩包解压到 /usr/local/java/ 目录下,即安装完成

为 Java JDK 配置系统环境变量

Java JDK 安装完成后,我们需要将 JDK 中相关的目录添加到系统的环境变量中,使得我们可以在系统的任何位置执行 JDK 中的可执行文件命令

执行如下命令,进入修改 Linux 系统的环境变量

bash 复制代码
vim /etc/profile

在 /etc/profile 文件中的最后添加如下内容,为 JDK 配置系统环境变量

移动到文件内容的最后,按下 i 进入编辑模式

bash 复制代码
# Java JDK 系统环境变量
# Java JDK 的家目录,指定安装的 JDK 的根目录
export JAVA_HOME=/usr/local/java/jdk-17.0.10
# 配置 Java 的类加载路径,Java 从哪加载 class
# 在原来默认值(. 当前目录)的基础上添加 JDK 根目录中的 lib 目录
export CLASSPATH=.:$JAVA_HOME/lib/
# 在系统路径的基础上添加 JDK 根目录下的 bin 目录
# 使得我们可以在系统的任何位置执行 JDK 中的可执行文件命令
export PATH=$PATH:$JAVA_HOME/bin

export 导出指定的环境变量
$环境变量名 获取指定的环境变量的值
: 多个值之间的分隔

然后按下 esc 退出插入编辑模式

然后按下 :(英文的),输入 wq(写入保存并退出),按下 enter

然后我们需要执行如下命令,让系统重新读取环境变量,让新的系统环境变量配置生效

bash 复制代码
source /etc/profile

echo $PATH 读取系统环境变量 PATH 的值,查看新的系统环境变量配置是否生效

至此 Java JDK 的系统环境变量配置完成

检验 Java JDK 的系统环境变量配置是否成功

Java JDK 的系统环境变量配置完成之后,可以在任意位置,输入如下命令,查看 Java JDK 的版本,如果有输出,则系统环境变量配置是否成功,否则失败

bash 复制代码
java -version

至此 Java JDK 的系统环境变量配置成功

相关推荐
萧瑟余晖28 分钟前
JDK 26 新特性详解
java·开发语言
马优晨1 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
DFT计算杂谈3 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
维天说4 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
Zhang~Ling4 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
DeeplyMind4 小时前
Linux 深入 per-VMA lock:Linux 缺页路径如何摆脱 mmap_lock
linux·per-vma lock
爱写代码的森4 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
Zane19944 小时前
并发 vs 并行:别再傻傻分不清了,一文讲透 Java 并发编程的第一课
java·后端
噢,我明白了5 小时前
java中Excel的导入和导出(EasyExcel)
java·开发语言·excel
吠品5 小时前
Zabbix Web界面误报Server未运行的排查与解决
java·服务器·数据库