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

相关推荐
苹果酱05673 分钟前
一文读懂SpringCLoud
java·开发语言·spring boot·后端·中间件
掐指一算乀缺钱23 分钟前
SpringBoot 数据库表结构文档生成
java·数据库·spring boot·后端·spring
TravisBytes28 分钟前
linux 系统是如何收发数据包
linux·运维·服务器
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑29 分钟前
苍穹外卖学习笔记(七)
java·windows·笔记·学习·mybatis
就这个java爽!34 分钟前
JAVA网络编程【基于TCP和UDP协议】超详细!!!
java·开发语言·网络·tcp/ip·udp·eclipse·idea
一叶飘零_sweeeet38 分钟前
为什么 Feign 要用 HTTP 而不是 RPC?
java·网络协议·http·spring cloud·rpc·feign
懒洋洋大魔王1 小时前
7.Java高级编程 多线程
java·开发语言·jvm
茶馆大橘1 小时前
【黑马点评】已解决java.lang.NullPointerException异常
java·开发语言
星辰@Sea1 小时前
服务注册中心对比及使用场景分析
java·云原生
马剑威(威哥爱编程)1 小时前
除了递归算法,要如何优化实现文件搜索功能
java·开发语言·算法·递归算法·威哥爱编程·memoization