当前位置: 首页 > article >正文

jdk21下载、安装(Windows、Linux、macOS)

Windows 系统

1. 下载安装

访问 Oracle 官方 JDK 下载页面 或 OpenJDK 下载页面,根据自己的系统选择合适的 Windows 版本进行下载(通常选择 .msi 安装包)。

2. 配置环境变量

右键点击 “此电脑”,选择 “属性”。

在左侧导航栏中点击 “高级系统设置”。

在弹出的 “系统属性” 窗口中,点击 “环境变量” 按钮。

配置 JAVA_HOME 变量

  • 在 “系统变量” 区域,点击 “新建” 按钮。
  • 在 “变量名” 输入框中输入 JAVA_HOME,在 “变量值” 输入框中输入 JDK 21 的安装路径,例如 C:\Program Files\Java\jdk-21
  • 点击 “确定” 保存。

配置 Path 变量

  • 在 “系统变量” 区域找到 Path 变量,选中它并点击 “编辑” 按钮。
  • 点击 “新建”,添加以下两个路径:
    • %JAVA_HOME%\bin
    • %JAVA_HOME%\jre\bin(如果 JDK 21 包含 JRE 的话)
    • .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
  • 点击 “确定” 保存。

3. 验证安装

打开命令提示符(CMD),输入以下命令:

java -version
javac -version

Linux 系统

1. 下载 JDK 21

  • 访问 OpenJDK 下载页面,下载适用于 Linux 的 .tar.gz 压缩包。

2. 安装 JDK 21

  • 打开终端,使用以下命令将下载的压缩包解压到指定目录,例如 /usr/local/java
sudo mkdir /usr/local/java
sudo tar -zxvf jdk-21.*.tar.gz -C /usr/local/java

3. 配置环境变量

  • 打开终端,编辑 ~/.bashrc/etc/profile 文件(~/.bashrc 是用户级配置,/etc/profile 是系统级配置):
sudo vim ~/.bashrc
  • 在文件末尾添加以下内容:
export JAVA_HOME=/usr/local/java/jdk-21
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • 保存并退出文件,然后执行以下命令使配置生效:
source ~/.bashrc

4. 验证安装

java -version
javac -version

如果能够正确显示 JDK 21 的版本信息,则说明安装和配置成功。

macOS 系统

1. 下载 JDK 21

  • 访问 Oracle 官方 JDK 下载页面 或 OpenJDK 下载页面,下载适用于 macOS 的 .dmg 安装包。

2. 安装 JDK 21

  • 双击下载好的 .dmg 安装包,按照安装向导的提示进行操作。

3. 配置环境变量

  • 打开终端,编辑 ~/.bash_profile~/.zshrc 文件(如果使用的是 Zsh 终端):
vim ~/.zshrc
  • 在文件末尾添加以下内容:
export JAVA_HOME=$(/usr/libexec/java_home -v 21)
export PATH=$JAVA_HOME/bin:$PATH
  • 保存并退出文件,然后执行以下命令使配置生效:
source ~/.zshrc

4. 验证安装

  • 在终端中输入以下命令:
java -version
javac -version

如果能够正确显示 JDK 21 的版本信息,则说明安装和配置成功。

多个 jdk 版本如何切换

windows 系统

1. 安装多个 JDK 版本

首先,按照正常的安装流程在系统中安装多个不同版本的 JDK,例如 JDK 8 和 JDK 21,并记住它们各自的安装路径。

2. 配置环境变量

为每个 JDK 版本设置独立的环境变量,以方便后续切换。

  • 右键点击 “此电脑”,选择 “属性”。
  • 在左侧导航栏中点击 “高级系统设置”。
  • 在弹出的 “系统属性” 窗口中,点击 “环境变量” 按钮。
  • 新建环境变量
    • 分别为不同版本的 JDK 创建对应的环境变量,例如 JDK8JDK21,变量值分别为 JDK 8 和 JDK 21 的安装路径。
    • JDK8C:\Program Files\Java\jdk1.8.0_xxx
    • JDK21C:\Program Files\Java\jdk-21
  • 修改 JAVA_HOME 变量
    JAVA_HOME 是用于指定当前使用的 JDK 版本的关键变量。当需要切换 JDK 版本时,只需修改 JAVA_HOME 的值。例如,要使用 JDK 8,将 JAVA_HOME 的值设置为 %JDK8%;要使用 JDK 21,将其值设置为 %JDK21%
  • 修改 Path 变量
    确保 Path 变量中引用的是 %JAVA_HOME%\bin,这样每次修改 JAVA_HOME 后,Path 也会相应更新。

3. 验证切换

每次修改 JAVA_HOME 后,打开新的命令提示符窗口,输入以下命令验证 JDK 版本是否切换成功

java -version

Linux 系统

1. 安装多个 JDK 版本

使用包管理器或手动解压安装包的方式在系统中安装多个不同版本的 JDK。

2. 配置环境变量

编辑 ~/.bashrc/etc/profile 文件,为每个 JDK 版本设置独立的环境变量,并添加切换函数。

# 定义不同 JDK 版本的路径
export JAVA_HOME_8=/usr/local/java/jdk1.8.0_xxx
export JAVA_HOME_21=/usr/local/java/jdk-21

# 定义切换 JDK 版本的函数
switchjdk() {
    case $1 in
        8)
            export JAVA_HOME=$JAVA_HOME_8
            ;;
        21)
            export JAVA_HOME=$JAVA_HOME_21
            ;;
        *)
            echo "Usage: switchjdk 8|21"
            ;;
    esac
    export PATH=$JAVA_HOME/bin:$PATH
}

# 初始默认 JDK 版本
switchjdk 21

保存文件后,执行以下命令使配置生效:

source ~/.bashrc

3. 切换 JDK 版本

在终端中使用 switchjdk 函数切换 JDK 版本,例如要切换到 JDK 8,执行以下命令:

switchjdk 8

然后输入以下命令验证切换结果:

java -version

macOS 系统

1. 安装多个 JDK 版本

通过 .dmg 安装包或 Homebrew 等工具在系统中安装多个不同版本的 JDK。

2. 配置环境变量

编辑 ~/.bash_profile~/.zshrc 文件,添加切换 JDK 版本的函数。

# 定义切换 JDK 版本的函数
switchjdk() {
    export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    export PATH=$JAVA_HOME/bin:$PATH
}

# 初始默认 JDK 版本
switchjdk 21

保存文件后,执行以下命令使配置生效:

source ~/.zshrc

3. 切换 JDK 版本

在终端中使用 switchjdk 函数切换 JDK 版本,例如要切换到 JDK 8,执行以下命令:

switchjdk 1.8

接着输入以下命令验证切换结果:

java -version

http://www.kler.cn/a/562030.html

相关文章:

  • Qt:布局管理器
  • AI将会取代生活的方方面面吗?
  • 记录此刻:历时两月,初步实现基于FPGA的NVMe SSD固态硬盘存储控制器设计!
  • SUSE15SP4 网络配置连外网
  • 货车一键启动无钥匙进入手机远程启动的正确使用方法
  • OkHttp、Retrofit、RxJava:一文讲清楚
  • 前端如何转战鸿蒙
  • ubuntu离线安装Ollama并部署Llama3.1 70B INT4
  • 超越云计算:计算连续体中的无服务器函数
  • 【C++】Arrays
  • 从 Spring Boot 2 升级到 Spring Boot 3 的终极指南
  • STM32开发方式
  • 【Python爬虫(71)】用Python爬虫解锁教育数据的奥秘
  • 安装VM和Centos
  • 前端(layui表单对应行颜色、登陆页面、轮播)
  • Spring三级缓存解密:循环依赖破局之道
  • H13-821 V3.0 HCIP 华为云服务架构题库
  • 「软件设计模式」命令模式(Command)
  • Crack SmartGit
  • 使用虚拟IP会封号吗?静态IP上网速度会不会比动态IP更快?