如何在同一台电脑上安装和切换JDK8与JDK17

 更新时间:2026年07月18日 15:39:50   作者:嘉禾嘉宁papa  
想体验SpringBoot3.0又怕影响公司项目?本文教你如何在同一台电脑上配置JDK8和JDK17双版本环境,通过设置JAVA_HOME变量轻松实现灵活切换,步骤详细,即学即用,让工作学习两不误

一、下载安装

还在jdk8? 新技术不学习了?最新的框架都是开始拥抱jdk17以上的版本了,比如大名鼎鼎的springBoot3.0。

原来你也想学,但是公司项目还是jdk8,怕把环境搞坏了,双系统应该听说过吧,今天弄个双jdk,工作学习两不误,实现jdk8和jdk17灵活切换,一起看看怎么做吧。

下载就不说了,官网下载即可,有JDK8和JDK17,这个不用我多说。

https://www.oracle.com/cn/java/technologies/downloads/

下面的直通车,你可以直接选择或者更改你的版本,因为我自己jdk8版本比较老,提供的就是比较老的地址了。

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

我的版本如下:

  • jdk1.8u111 (有点老)
  • jdk17.0.8 (比较新)

二、配置

我这里的安装目录如下:

2.1、编译jdk17的jre

命令提示符进入到jdk17下面的bin目录,执行命令:

D:\ProgramFiles\Java\jdk17>bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

这样你的jdk17目录里就会多一个jre目录了

2.2、jdk8环境变量

我的电脑–>高级系统设置–>环境变量–>系统变量–>新建

配置系统变量:JAVA_HOME_8

C:\myProgram\Java\jdk1.8u111

2.3、jdk17环境变量

我的电脑–>高级系统设置–>环境变量–>系统变量–>新建

配置系统变量:JAVA_HOME_17

C:\myProgram\Java\jdk17.0.8

2.4、jdk环境变量(核心)

我的电脑–>高级系统设置–>环境变量–>系统变量–>新建

配置系统变量( 真正使用的变量 ):JAVA_HOME

%JAVA_HOME_8%
或者
%JAVA_HOME_17%

然后新建两个变量,我的电脑–>高级系统设置–>环境变量–>系统变量–>PATH–>编辑

%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

示例图如下:


三、使用

使用就简单了,我使用环境变量:JAVA_HOME,然后取值就是上面配置的 JAVA_HOME_8 和 JAVA_HOME_17

%JAVA_HOME_8%
或者
%JAVA_HOME_17%

示例图如下:

当我们使用 JAVA_HOME ): %JAVA_HOME_8%

当我们使用 JAVA_HOME ): %JAVA_HOME_17%

通过这种方式可以配置多个版本的jdk,赶紧试试吧。

四、其他

java与javac版本不一致,在path变量里移除两个变量,具体的路径根据你的安装目录定。一般是oracle的路径。

C:\Program Files\Common Files\Oracle\Java\javapath
C:\ProgramData\Oracle\Java\javapath

五、总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实现简单点餐系统

    Java实现简单点餐系统

    这篇文章主要为大家详细介绍了Java实现简单点餐系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • SpringBoot启动报错:Update your application‘s configuration服务终止的解决

    SpringBoot启动报错:Update your application‘s conf

    这篇文章主要介绍了SpringBoot启动报错:Update your application‘s configuration服务终止的解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-03-03
  • JAVA编程实现UDP网络通讯的方法示例

    JAVA编程实现UDP网络通讯的方法示例

    这篇文章主要介绍了JAVA编程实现UDP网络通讯的方法,简单说明了UDP通讯的原理并结合实例形式分析了java实现UDP通讯的相关类与使用技巧,需要的朋友可以参考下
    2017-08-08
  • Springboot中yml文件不生效原因分析及解决方案

    Springboot中yml文件不生效原因分析及解决方案

    本文介绍了SpringBoot项目中YML文件不生效的常见原因及解决方案,包括格式错误、文件名错误、配置文件位置、激活的Profile、yml文件未加载、依赖问题、环境变量覆盖和代码中的硬编码配置,通过以下步骤,可以解决大部分YML文件配置不生效的问题
    2024-11-11
  • 关于HttpClient 引发的线程太多导致FullGc的问题

    关于HttpClient 引发的线程太多导致FullGc的问题

    这篇文章主要介绍了关于HttpClient 引发的线程太多导致FullGc的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • SpringBoot整合Spring Batch示例代码

    SpringBoot整合Spring Batch示例代码

    这篇文章主要来和大家一起探讨一下SpringBoot如何整合Spring Batch,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • Java TCP协议通信超详细讲解

    Java TCP协议通信超详细讲解

    TCP/IP是一种面向连接的、可靠的、基于字节流的传输层通信协议,它会保证数据不丢包、不乱序。TCP全名是Transmission Control Protocol,它是位于网络OSI模型中的第四层
    2022-09-09
  • IDEA自动生成注释模板的配置教程

    IDEA自动生成注释模板的配置教程

    本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以参考下
    2025-04-04
  • ConcurrentModificationException日志关键字报警思考分析

    ConcurrentModificationException日志关键字报警思考分析

    本文将记录和分析日志中的ConcurrentModificationException关键字报警,还有一些我的思考,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2023-12-12
  • SpringBoot中重要注解详解

    SpringBoot中重要注解详解

    文章介绍了Spring Boot的自动配置机制和一些常用的注解,这些注解用于标识和配置Spring Boot应用中的控制器、路由、响应体等组件,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2026-01-01

最新评论