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 的系统环境变量配置成功

相关推荐
linweidong3 小时前
C++ 模块化编程(Modules)在大规模系统中的实践难点?
linux·前端·c++
invicinble7 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷7 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
半桔8 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
JH30738 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
HABuo8 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7779 小时前
关于Linux服务器的协作问题
linux·运维·服务器
Coder_Boy_10 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
小白同学_C10 小时前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
invicinble10 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat