文章目录
- 一、JDK生效原理
- 二、安装配置JDK11
- 三、切换JDK11版本
- 四、查看切换JDK11版本是否成功
- 五、再次切换至JDK8版本
- 六、查看切换JDK8版本是否成功
一、JDK生效原理
想必大家都在为如何流畅的切换JDK版本问题而来,那么在此篇文章开始之前,首先我们来思考一下这样一个问题:系统是如何使得我们安装的JDK生效的?
聪明的你一定想到了,是的,要想使得我们安装的JDK生效,我们需要配置它的环境变量,让系统知道我们已经安装了JDK并且已经可以使用。
我们大家一般配置环境变量都是先新建一个系统变量JAVA_HOME,而JAVA_HOME所表示的路径为我们安装jdk的路径(不包含bin目录)即:
![在这里插入图片描述](https://img-blog.csdnimg.cn/856f1902a93948aea69cc1248ebd6123.png)
之后我们会在Path系统变量中新建环境变量%JAVA_HOME%\bin即:
![在这里插入图片描述](https://img-blog.csdnimg.cn/df87f3d0387541a38f365557977a05de.png)
那么这些环境变量和JDK生效有什么关系呢?我们来看bin目录下到底有什么内容:
jdk的bin目录:我们看到了熟悉的字眼,没错,就是java和javac命令,它们就是我们每次配置完JDK验证JDK成功的命令,其中javac命令还可以使我们编写的Java文件编译成字节码文件(.class文件)
![在这里插入图片描述](https://img-blog.csdnimg.cn/aa1e64fab28548a3bf1786c42e025b9c.png)
jdk自带的jre的bin目录:
![在这里插入图片描述](https://img-blog.csdnimg.cn/3842fef498ec4b2584a1d9bc2db5267b.png)
那么计算机如何才能准确的调用这些命令呢?当然是通过Path环境变量来进行查找,Path环境变量的值是一系列路径,Windows操作系统将在此一系列路径中查找命令,若能找到则可执行这些命令,即可以说Windows是通过JAVA_HOME来找到JDK和JRE的,并且当前JDK8以及JDK8之后已经集成了JRE,因此我们在配置JRE时无需再配置CLASSPATH以及配置%JAVA_HOME%\jre\bin环境变量。
那说了这么多,这些和JDK版本的切换有什么关系呢?接下来我们用图来表示。
![请添加图片描述](https://img-blog.csdnimg.cn/2e68fd0a20a04641a3409daeb226ac19.png)
我们当前有一个Java文件,若当前它使用的是JDK8编译的,而我们想要使用JDK11来编译它,怎么办呢,最简单的方法就是将JAVA_HOME的内容改为JDK11,具体操作如下:
二、安装配置JDK11
笔者现在安装一个JDK11(笔者已经安装有JDK8)
点击下一步
![在这里插入图片描述](https://img-blog.csdnimg.cn/2744c425612a4768ac83afaba21e1f8a.png)
配置好路径后,点击下一步
![在这里插入图片描述](https://img-blog.csdnimg.cn/de8efa3661d14733a04daed89728d966.png)
等待安装
![在这里插入图片描述](https://img-blog.csdnimg.cn/7e262219d04d46fba1448d5148e66631.png)
点击关闭
![在这里插入图片描述](https://img-blog.csdnimg.cn/bacef7d2fd3b4512875440bca999486a.png)
安装成功后,笔者的所有JDK文件如下图所示:
![在这里插入图片描述](https://img-blog.csdnimg.cn/912c741338704fcb9a57fe6ba7de9a3b.png)
点击进入jdk-11中,我们看到JDK11已经完全集成了JRE,已经完全看不到JRE的身影
![在这里插入图片描述](https://img-blog.csdnimg.cn/506e4adcb7ba4452ba04316a2286c486.png)
三、切换JDK11版本
若我们想要切换JDK11版本,我们需要修改JAVA_HOME的JDK路径,具体步骤如下图所示:
修改JAVA_HOME的JDK路径为JDK11的路径:
![请添加图片描述](https://img-blog.csdnimg.cn/37326b58e027426092070caaa0cd1a24.png)
四、查看切换JDK11版本是否成功
之后,我们查看JDK版本是否切换成功:输入java -version命令查看JDK版本
java -version
![在这里插入图片描述](https://img-blog.csdnimg.cn/d42ef5b3b93042358b09e4a0bd25f619.png)
我们发现JDK11版本已经切换成功!!!
五、再次切换至JDK8版本
根据以上步骤,我们需要修改JAVA_HOME的JDK路径,具体步骤如下图所示:
修改JAVA_HOME的JDK路径为JDK8的路径:
![请添加图片描述](https://img-blog.csdnimg.cn/e37beb65f1184979a2a76a0d8c9375b1.png)
六、查看切换JDK8版本是否成功
之后全部保存后,我们查看JDK版本是否切换成功:输入java -version命令查看JDK版本
java -version
![在这里插入图片描述](https://img-blog.csdnimg.cn/29745aa6067c4cf987a9b715e35b6a38.png)
我们发现,JDK的版本并没有被切换回来!!!
原因:
这是为什么呢?这是因为当我们安装并配置好JDK11之后它会自动生成一个环境变量(此变量我们看不到),此环境变量优先级较高,导致我们在切换回JDK8后系统会先读取到JDK11生成的环境变量,而不会读取到JDK8的环境变量。
解决办法:
我们需要将%JAVA_HOME%\bin上移至环境变量最高处(赋予它最高的优先级)
![在这里插入图片描述](https://img-blog.csdnimg.cn/f08c0ddff8ee451c9e8bdb1a4ad43298.png)
之后,我们再次查看JDK版本是否切换成功:输入java -version命令查看JDK版本
![在这里插入图片描述](https://img-blog.csdnimg.cn/9cc9a957dba64c528fd902f792e690ad.png)
我们看到已然切换成功!!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)