Java JDK的多版本共存实现方法

 更新时间:2023年09月25日 10:55:31   作者:佩佩要变强鸭  
有时候系统中需要多个jdk版本共存,我们在做特定的操作时需要特定的版本,这篇文章主要给大家介绍了关于Java JDK的多版本共存实现 的相关资料,需要的朋友可以参考下

前言

学习Java最一开始就是需要做环境配置啦,安装JDK是必不可少的。大家都知道JDK是Java开发者工具包,那么一般来说要选择什么样的版本来安装呢?可以安装多个JDK吗?是否可以我随时想切换哪个JDK就使用哪个呢?

下面我会主要说明如何实现Java JDK的多版本共存。

1. 首先简要回复一下上面两个问题:选择什么样的版本来安装呢?可以安装多个JDK吗?

一般来说,企业开发习惯用JDK8老版本,因为老版本经历了这么多年的使用,相对稳定。新版本JDK(像现在已经到了JDK17)也会有很多老版本没有的新东西。一台电脑可以安装多个JDK。(一般来说不会安装太多个)

另外,安装JDK推荐安装LTS版(长期支持版),例如:JDK8、JDK11、JDK17...

我们可以去Oracle官网下载:https://www.oracle.com  (具体下载安装步骤就不详细阐述了,如果有必要我可以出篇文章专门讲讲如何下载安装)

2. 下面详细阐述一下第三个问题:是否可以我随时想切换哪个JDK就使用哪个呢?

答案是可以的。举个例子,我们可以根据使用需要,按常规步骤安装不同版本的jdk到系统里面,通过设置环境变量来是实现不同版本直接切换,就不需要进行多次重复的安装和卸载了。(这里拿Windows系统举例)

①先安装不同版本的jdk到系统里面。

我是安装了JDK8和JDK17两个版本。(注意:两个版本安装路径最好是不一样的,避免一下子眼花混淆 ^_^)

②接下来配置JAVA_HOME环境变量。

这一步是为了告诉操作系统JDK安装在了哪个位置。(将来其他技术要通过这个环境变找JDK )

首先,找到JDK位置(一般是在bin包上一层的路径)=> 右键此电脑 => 属性 => 高级系统设置 => 环境变量

接下来,如果只装一个JDK的按照我下面的步骤配置即可:

(新建一个JAVA_HOME => 变量名:JAVA_HOME  变量值:JDK路径 => 确定)

如果要实现多个JDK,可以像我下面这样写:

 (蓝色方框里面分别配置不同版本的JDK和它各自的地址,新建一个JAVA_HOME变量,值放你要用的JDK版本的JAVA_HOME变量名即可。例如:想用JDK8那么JAVA_HOME值为%JAVA8_HOME%)

JAVA8_HOME =jdk1.8的安装路径根目录
JAVA17_HOME =jdk1.17的安装路径根目录
JAVA_HOME = %JAVA17_HOME% (切换jdk版本就改这里)

另外,不需要纠结配置环境变量放在用户变量还是系统变量的问题。其实放在系统变量就是任何用户都可以用到,放在用户变量就只是当前用户可以用到。(我这里JDK8以前装在C盘配置在系统配置里也懒得动了,JDK17装在了D盘在用户配置,这个其实是不影响的)

③接下来我们配置PATH环境。

 Path环境变量是用于记住程序路径的,方便在命令行窗口的任意目录启动程序。 

具体步骤:找到可执行文件的路径(一般在Bin包里面),此电脑右键 => 属性 => 高级系统设置 => 环境变量 => 双击path => 新建粘贴路径【这里一般是写%JAVA_HOME%\bin】 => 重启命令行窗口

这里说明一下,系统变量优先级是高于用户变量的。换句话说,环境变量设置相同,先在系统变量找,找不到再去用户变量找。如果有多个值,排在最前面的最上面的优先级更高。(如果你不放心,在用户变量里面加设一个也可以)

 到这里基本就配置好了。使用的时候根据使用需求可以切换不同JDK版本,直接修改JAVA_HOME = %JAVA8_HOME% (其他配置无需做任何修改)

        例如:

                使用jdk1.8,JAVA_HOME = %JAVA8_HOME%

                使用jdk1.17时,修改JAVA_HOME = %JAVA17_HOME%

※  另外,我们还是要注意一些小问题。

比如说我们更改了JAVA_HOME = %JAVA8_HOME%,可是却系统还是显示JDK17。那么要如何解决呢?

① 有可能环境变量做好切换设置后,没有重新打开命令行窗口来查版本,所以我们需要关闭命令行窗口后重新打开再来查版本(java -version)。

② 优先级的问题。前面提到了”变量中如果有多个值,排在最前面的最上面的优先级更高。”

所以应该是系统在Path中默认启用了一个系统自带的JDK,优先启用排序最前的,可以把%JAVA_HOME%\bin(下图红框路径)上移到那个javapath(下图蓝线的路径)上方即可解决。

 我们可以重新打开命令行窗口查看版本:

总结

到此这篇关于Java JDK的多版本共存实现的文章就介绍到这了,更多相关Java JDK多版本共存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈HashMap、HashTable的key和value是否可为null

    浅谈HashMap、HashTable的key和value是否可为null

    这篇文章主要介绍了浅谈HashMap、HashTable的key和value是否可为null,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • SpringBoot中使用Jsoup爬取网站数据的方法

    SpringBoot中使用Jsoup爬取网站数据的方法

    这篇文章主要介绍了SpringBoot中使用Jsoup爬取网站数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • macOS中搭建Java8开发环境(基于Intel x86 64-bit)

    macOS中搭建Java8开发环境(基于Intel x86 64-bit)

    这篇文章主要介绍了macOS中搭建Java8开发环境(基于Intel x86 64-bit) 的相关资料,需要的朋友可以参考下
    2022-12-12
  • SpringBoot如何使用内嵌Tomcat问题

    SpringBoot如何使用内嵌Tomcat问题

    这篇文章主要介绍了SpringBoot如何使用内嵌Tomcat问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Spring Java-based容器配置详解

    Spring Java-based容器配置详解

    这篇文章主要介绍了Spring Java-based容器配置详解,涉及注解和@Configuration类以及@Beans的相关知识,具有一定参考价值,需要的朋友可以了解。
    2017-10-10
  • IDEA 创建多级文件夹的操作

    IDEA 创建多级文件夹的操作

    这篇文章主要介绍了IDEA 创建多级文件夹的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • SpringSecurity多认证器配置多模式登录自定义认证器方式

    SpringSecurity多认证器配置多模式登录自定义认证器方式

    这篇文章主要介绍了SpringSecurity多认证器配置多模式登录自定义认证器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • spring cloud gateway网关路由分配代码实例解析

    spring cloud gateway网关路由分配代码实例解析

    这篇文章主要介绍了spring cloud gateway网关路由分配代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • java object 之clone方法全面解析

    java object 之clone方法全面解析

    下面小编就为大家带来一篇java object 之clone方法全面解析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 如何实现java8 list按照元素的某个字段去重

    如何实现java8 list按照元素的某个字段去重

    这篇文章主要介绍了如何实现java8 list按照元素的某个字段去重,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06

最新评论