Java中jdk1.8和jdk17相互切换实战步骤

 更新时间:2023年05月19日 09:03:05   作者:想成为大佬啊  
之前做Java项目时一直用的是jdk1.8,现在想下载另一个jdk版本17,并且在之后的使用中可以进行相互切换,下面这篇文章主要给大家介绍了关于Java中jdk1.8和jdk17相互切换的相关资料,需要的朋友可以参考下

前言

之前做Java项目时一直用的是jdk1.8,现在想下载另一个jdk版本17,并且在之后的使用中可以进行相互切换,我将jdk切换时所遇到的问题记录下来并分享出来供大家参考。

1.环境变量中之前已经配置好的jdk1.8。

环境变量配置如下:

步骤1

步骤2

(注:@MAVEN_HOME%\bin;是配置maven时的环境变量,如果没有安装maven就不用管)

步骤3

在cmd中输入java -version为jdk1.8版本:

2.jdk1.8版本到jdk17版本的切换。

jdk17的安装路径,为了方便我是安装在和jdk1.8一样的文件目录下:

步骤1

在环境变量中另外创建两个变量名,分别为JAVA1.8_HOME和JAVA17_HOME,变量值为jdk1.8和jdk17的安装路径。

步骤2

修改JAVA_HOME的变量值为%JAVA17_HOME%,这个值就是之前创建的属于jdk17的变量名。

点击确定后重新打开环境变量配置(若只是点击确定而没有重新打开配置则看不到变化),可以看到当修改完毕后CLASSPATH和PATH的值自动发生了变化,变成了在jdk17下的变量值。

CLASSPATH变量和PATH变量的值:

配置完成后,在cmd中输入java -version查看jdk版本为17:

3.jdk17到jdk1.8的切换。

如果按照正常步骤来的话只需要修改JAVA_HOME的值为JAVA1.8_HOME就可以切换成jdk1.8的环境,修改过程如下:

修改后重新打开环境变量配置,CLASSPATH和PATH的值自动变成了jdk1.8的值:

此时在cmd中输入java -version查看jdk版本却发现jdk版本仍然是jdk17的版本,并没有切换成jdk1.8:

在网上寻找解决方案后,发现需要把系统变量中Path的变量值C:\Program Files\Common Files\Oracle\Java\javapath和C:\Program Files (x86)\Common Files\Oracle\Java\javapath都删掉,如图所示:

此时在cmd中输入java -version查看jdk版本,发现已经切换到了jdk1.8版本:

最后测试了在删除Path的变量值C:\Program Files\Common Files\Oracle\Java\javapath和C:\Program Files (x86)\Common Files\Oracle\Java\javapath后再进行上面的第2步操作后又能否切换回jdk17,结果发现可以成功切换成jdk17版本:

总结。

可以看出如果想要切换jdk版本,那就只需要删除系统变量中PATH的值C:\Program Files\Common Files\Oracle\Java\javapath和C:\Program Files (x86)\Common Files\Oracle\Java\javapath,然后修改JAVA_HOME的值就可以随意进行jdk的切换。之前那个没有切换成功的原因我想是因为下载了jdk17后,原来C:\Program Files (x86)\Common Files\Oracle\Java\javapath和C:\Program Files\Common Files\Oracle\Java\javapath中的java.exe、javaw.exe、javaws.exe已经变成了jdk17的版本,即使是修改了环境变量的值也不会切换到jdk1.8,那还不如直接在PATH变量删除这两个变量,而且删除后没有受到什么影响,也能够进行正常切换。希望这篇文章能够帮助到你们,谢谢!

到此这篇关于Java中jdk1.8和jdk17相互切换的文章就介绍到这了,更多相关jdk1.8和jdk17相互切换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java语言实现Blowfish加密算法完整代码分享

    Java语言实现Blowfish加密算法完整代码分享

    这篇文章主要介绍了Java语言实现Blowfish加密算法完整代码分享,简单介绍了blowfish加密算法,具有一定借鉴价值,需要的朋友可以参考下。
    2017-11-11
  • Java中的异常和处理机制实例详解

    Java中的异常和处理机制实例详解

    这篇文章主要介绍了Java中的异常和处理机制,结合实例形式详细分析了Java异常与处理机制的相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2019-05-05
  • java SpringSecurity使用详解

    java SpringSecurity使用详解

    这篇文章主要介绍了java中Spring Security的实例详解的相关资料,spring security是一个多方面的安全认证框架,提供了基于JavaEE规范的完整的安全认证解决方案,需要的朋友可以参考下
    2021-08-08
  • Java实现发红包功能

    Java实现发红包功能

    这篇文章主要为大家详细介绍了Java实现发红包功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 如何让Win10实现Java文件的开机自启动

    如何让Win10实现Java文件的开机自启动

    这篇文章主要介绍了如何让Win10实现Java文件的开机自启动,对于一些想要一直运行的Java文件,就会造成每次系统更新之后的重启导致Java文件无法继续运行。,需要的朋友可以参考下
    2019-06-06
  • springboot后端使用LocalDate接收日期的问题解决

    springboot后端使用LocalDate接收日期的问题解决

    在做Java开发时,肯定会碰到传递时间参数的情况,本文主要介绍了springboot后端使用LocalDate接收日期的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • Java私有构造函数作用原理解析

    Java私有构造函数作用原理解析

    这篇文章主要介绍了Java私有构造函数作用原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Spring Cloud实战技巧之使用随机端口

    Spring Cloud实战技巧之使用随机端口

    这篇文章主要给大家介绍了关于Spring Cloud实战技巧之使用随机端口的相关资料,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-06-06
  • 使用jpa的实体对象转json符串时懒加载的问题及解决

    使用jpa的实体对象转json符串时懒加载的问题及解决

    这篇文章主要介绍了使用jpa的实体对象转json符串时懒加载的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • SpringBoot中给指定接口加上权限校验的实现

    SpringBoot中给指定接口加上权限校验的实现

    本文介绍了使用SpringSecurity为接口添加权限校验,以防止外部访问并确保安全性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12

最新评论