WINDOWS安装多个JDK,并随意切换JDK版本

最近新接手一个项目。启动的时候,发现有些jar和现在正在使用的JDK版本不一致,一直启动有问题。想着就多装一个JDK。由于为了保证java的运行环境和编译环境保持一致,就需要我们设置jdk的环境变量。(安装JDK和配置环境变量的方法可以参考),多个JDK,就涉及到JDK环境变量的切换问题。

  • WIN10系统
  • JDK1.8

JDK8的下载目录:

Java Archive Downloads - Java SE 8

Java Archive Downloads - Java SE 8u211 and later

这里可以搜其他任意版本的JDK:Java Archive | Oracle

多个JDK的切换困境

当我们安装JDK的时候,无论哪个版本,最后一定要设置环境变量。需要新建一个Key-Value键值对,[JAVA_HOME: [JDK的安装路径]。然后在Path的环境变量中,追加%JAVA_HOME%\bin;

***********************************************************************************************

只有一个JDK的时候,设置一遍就好了。

***********************************************************************************************

但是当安装有多个JDK的时候,就涉及到了JDK版本的切换问题。切换版本最快最常规的方法,就是替换JAVA_HOME对应的JDK安装路径。这种方式,切换一次,可能只需要找到JDK的安装路径,复制粘贴到JAVA_HOME后面就行了,但是如果有频繁切换的需求,来回复制粘贴安装路径的话,就有点乏味和不够方便了

怎么去解决这种问题呢? 让我们切换JDK版本的时候,不用再去找有哪几个JDK,以及不用再去复制它们的安装路径


这里我以我本地三个不同版本的JDK来做示范

1、安装多个JDK

下面是我的jdk的安装路径,总共有三个JDK

2、创建环境变量

首先我们对三个路径,分别配置了三个单独的环境变量。分别是JAVA_HOME7、JAVA_HOME8、JAVA_HOME8_241。如下所示

我们再新建一个环境变量,就叫JAVA_HOME,值就设置成%JAVA_HOME8_241%或%JAVA_HOME8%或%JAVA_HOME7%

3、切换JDK版本

当我们把JAVA_HOME的值设置成%JAVA_HOME8_241%的时候就意味着将JAVA_HOME8_241 的路径映射给JAVA_HOME ,也就是说,此时JAVA_HOME 就等同于JAVA_HOME8_241,打印如下

此时二者指向同一个路径,此时path中仍然可以使用JAVA_HOME来进行配置

那么每次需要切换JDK版本的时候,就只需要更改JAVA_HOME的引用值就可以

需要JDK1.7的时候,就改成JAVA_HOME = %JAVA_HOME7%

需要JDK1.8的时候,就改成JAVA_HOME = %JAVA_HOME8%

这样子做,其实就是将不同版本JDK的安装路径先赋值给了变量。每次切换的时候,只需要修改变量名就行。不用再复制粘贴路径了


另外还有一个问题

安装的过程中发现。如果已经安装了JDK1.8,再安装JDK1.7的时候,即便更换了JAVA_HOME的值,使用Java -version查询版本,发现并不生效,这种情况呢,网上有很多解决办法。大多都说是删除C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件。

他人的解决方案:

 


但是经过实践发现。其实完全可以不用删除上面那三个文件!!

原因是系统在读取Path的环境变量时,是存在优先级的。谁在前,谁的优先级就高。

我们可以打开Path,看看我们自己写的%JAVA_HOME%\bin是不是在下面这个配置的后面

C:\Program Files (x86)\Common Files\Oracle\Java\javapath;

如果是,那就将这两个调整一下位置,将%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;写在上面这个配置之前就可以了。这样,系统就会优先读取,JAVA_HOME中配置的JDK路径了。上面的java.exe、javaw.exe、javaws.exe三个文件就不用删除。


如果不确定自己的java.exe、javaw.exe、javaws.exe三个文件的位置,那就将JAVA_HOME的配置信息写在最前面

这个时候你再随意切换1.7和1.8 ,应该就没问题了。

  • 14
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值