Windows11多个JDK版本(Java8、Java11、Java17、Java21)下载安装和切换

1. 前言

目前随着技术的更新迭代,随着Spring Boot的版本不断迭代更新,新发布的Spring Boot各个版本支持不同版本的JDK,而最新版本的已经不再支持JDK8,对JDK版本的最低要求为17。但是一些旧项目还是低版本,或者一些项目开发还是使用JDK8来进行开发。本文Windows11 多个JDK版本(Java8、Java11、Java17、Java21)下载安装和切换。

2. 环境准备

本地编译spring 源码我使用的个软件版本如下:

  • 系统:Windows11
  • Jdk:8、11、17、21

3. 下载 JDK

JDK不同版本可以在Oracle官网下载,下载地址点此进入

选择所需的JDK版本下载,常用的有:Java 8、Java 11、Java 17、Java 21。

点击下载好的安装程序jdk-21_windows-x64_bin.exe ,将JDK安装到本地指定的文件夹中

2. 配置环境变量

打开环境变量:【此电脑右键】---【系统】---【高级系统设置】---【环境变量】

在 Path 中添加两个变量%JAVA_HOME%\bin 以及 %JRE_HOME%\bin ,这里的 % 相当于引用

点击【新建】,添加 JAVA_HOME21 变量

  • 变量名 为:JAVA_HOME21如果有多个 JDK,变量名要有区别,如图所示
  • 变量值 为:上一个步骤中 JDK 的安装路径

这边把JAVA_HOME8、JAVA_HOME11、JAVA_HOME17、JAVA_HOME21都设置

  • JAVA_HOME8 D:\workspace_install\jdk8\jdk
  • JAVA_HOME11 D:\workspace_install\jdk11\jdk
  • JAVA_HOME17 D:\workspace_install\jdk17\jdk
  • JAVA_HOME21 D:\workspace_install\jdk21\jdk

3. JDK 版本切换

点击【新建】,添加 CLASSPATH 变量

  • 变量名 为:CLASSPATH
  • 变量值 为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

点击【新建】,添加 JAVA_HOME 变量

  • 变量名 为:JAVA_HOME
  • 变量值 为:%JAVA_HOME21%特别注意% 中引用的是所要使用的 JDK 版本 ,要与上一步中 JDK 的变量名对应

JDK版本切换方法 :可以更改 % 中的 JDK 变量名,从而达到切换不同 JDK 的目的。

4. 测试

快捷键 Win + R 打开【运行】,输入 cmd 打开【命令提示符】,输入 java -version (注意中间有空格),查看 JDK 版本

相关推荐
Sam_Deep_Thinking9 小时前
一次线程池线上故障复盘:四层防线如何避免数据丢失
java·面试·程序员
paopaokaka_luck9 小时前
基于Springboot3+Vue3的宠物殡葬管理系统(webSocket实时通讯、接入腾讯地图、支付宝沙盒支付、Echarts图形化分析)
java·开发语言·网络·后端
前鼻音太阳熊9 小时前
【MES系统】MES为什么需要SSE?从设备实时监控谈Spring Boot流式推送设计
java·spring boot·后端
Lhappy嘻嘻9 小时前
网络初识|基础入门:局域网广域网、IP 端口、TCP/IP 五层模型与封装解封装全过程
java·开发语言·网络·笔记·网络协议·tcp/ip
Java面试题总结9 小时前
区间树:反向映射的前置数据结构
java·前端·数据结构
尚早立志9 小时前
六)Spring Boot 源码研读之prepareContext 准备上下文
java·spring boot·后端·spring
Lhappy嘻嘻17 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
伊玛目的门徒18 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
懒鸟一枚20 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我123451 天前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime