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版本怎么随意切换呢

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

WINDOWS安装多个JDK,并随意切换JDK版本_第1张图片

之前,需要使用哪个JDK的时候,我们就将JDK的安装路径赋值到JAVA_HOME的环境变量上,然后再将%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin写到Path中。

但是要是有多个JDK,需要切换的时候,每次都要更改JAVA_HOME的值,也就是,JDK的安装路径。感觉这种比较麻烦,能不能换一种方式呢?

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

WINDOWS安装多个JDK,并随意切换JDK版本_第2张图片

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

WINDOWS安装多个JDK,并随意切换JDK版本_第3张图片

当他的值对应的是%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%

另外还有一个问题,如果已经安装了JDK1.8,再安装JDK1.7的时候,即便更换了JAVA_HOME的值,使用Java -version ,发现不生效,这种情况,网上有很多解决办法。说是删除C:\Windows\System32目录下java.exe、javaw.exe、javaws.exe三个文件。

WINDOWS安装多个JDK,并随意切换JDK版本_第4张图片

WINDOWS安装多个JDK,并随意切换JDK版本_第5张图片 

其实可以不用!!

系统在读取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的配置信息写在最前面。

WINDOWS安装多个JDK,并随意切换JDK版本_第6张图片

这个时候你再随意切换1.7和1.8 ,应该就可以了。

你可能感兴趣的:(其他,idea,java,jdk)