超详细WindowsJDK1.8与JDK11版本切换教程

文章目录

    • 一、JDK生效原理
    • 二、安装配置JDK11
    • 三、切换JDK11版本
    • 四、查看切换JDK11版本是否成功
    • 五、再次切换至JDK8版本
    • 六、查看切换JDK8版本是否成功

一、JDK生效原理

想必大家都在为如何流畅的切换JDK版本问题而来,那么在此篇文章开始之前,首先我们来思考一下这样一个问题:系统是如何使得我们安装的JDK生效的?

聪明的你一定想到了,是的,要想使得我们安装的JDK生效,我们需要配置它的环境变量,让系统知道我们已经安装了JDK并且已经可以使用。

我们大家一般配置环境变量都是先新建一个系统变量JAVA_HOME,而JAVA_HOME所表示的路径为我们安装jdk的路径(不包含bin目录)即:
超详细WindowsJDK1.8与JDK11版本切换教程_第1张图片


之后我们会在Path系统变量中新建环境变量%JAVA_HOME%\bin即:
超详细WindowsJDK1.8与JDK11版本切换教程_第2张图片


那么这些环境变量和JDK生效有什么关系呢?我们来看bin目录下到底有什么内容:

jdk的bin目录:我们看到了熟悉的字眼,没错,就是java和javac命令,它们就是我们每次配置完JDK验证JDK成功的命令,其中javac命令还可以使我们编写的Java文件编译成字节码文件(.class文件)

超详细WindowsJDK1.8与JDK11版本切换教程_第3张图片

jdk自带的jre的bin目录:

超详细WindowsJDK1.8与JDK11版本切换教程_第4张图片


那么计算机如何才能准确的调用这些命令呢?当然是通过Path环境变量来进行查找,Path环境变量的值是一系列路径,Windows操作系统将在此一系列路径中查找命令,若能找到则可执行这些命令,即可以说Windows是通过JAVA_HOME来找到JDK和JRE的,并且当前JDK8以及JDK8之后已经集成了JRE,因此我们在配置JRE时无需再配置CLASSPATH以及配置%JAVA_HOME%\jre\bin环境变量。

那说了这么多,这些和JDK版本的切换有什么关系呢?接下来我们用图来表示。

超详细WindowsJDK1.8与JDK11版本切换教程_第5张图片


我们当前有一个Java文件,若当前它使用的是JDK8编译的,而我们想要使用JDK11来编译它,怎么办呢,最简单的方法就是将JAVA_HOME的内容改为JDK11,具体操作如下:

二、安装配置JDK11

笔者现在安装一个JDK11(笔者已经安装有JDK8)
点击下一步
超详细WindowsJDK1.8与JDK11版本切换教程_第6张图片


配置好路径后,点击下一步
超详细WindowsJDK1.8与JDK11版本切换教程_第7张图片


等待安装
超详细WindowsJDK1.8与JDK11版本切换教程_第8张图片


点击关闭
超详细WindowsJDK1.8与JDK11版本切换教程_第9张图片


安装成功后,笔者的所有JDK文件如下图所示:
超详细WindowsJDK1.8与JDK11版本切换教程_第10张图片


点击进入jdk-11中,我们看到JDK11已经完全集成了JRE,已经完全看不到JRE的身影
超详细WindowsJDK1.8与JDK11版本切换教程_第11张图片


三、切换JDK11版本

若我们想要切换JDK11版本,我们需要修改JAVA_HOME的JDK路径,具体步骤如下图所示:
修改JAVA_HOME的JDK路径为JDK11的路径:

超详细WindowsJDK1.8与JDK11版本切换教程_第12张图片


四、查看切换JDK11版本是否成功

之后,我们查看JDK版本是否切换成功:输入java -version命令查看JDK版本

java -version

超详细WindowsJDK1.8与JDK11版本切换教程_第13张图片

我们发现JDK11版本已经切换成功!!!

五、再次切换至JDK8版本

根据以上步骤,我们需要修改JAVA_HOME的JDK路径,具体步骤如下图所示:
修改JAVA_HOME的JDK路径为JDK8的路径:

超详细WindowsJDK1.8与JDK11版本切换教程_第14张图片


六、查看切换JDK8版本是否成功

之后全部保存后,我们查看JDK版本是否切换成功:输入java -version命令查看JDK版本

java -version

超详细WindowsJDK1.8与JDK11版本切换教程_第15张图片

我们发现,JDK的版本并没有被切换回来!!!


原因:这是为什么呢?这是因为当我们安装并配置好JDK11之后它会自动生成一个环境变量(此变量我们看不到),此环境变量优先级较高,导致我们在切换回JDK8后系统会先读取到JDK11生成的环境变量,而不会读取到JDK8的环境变量。
解决办法:我们需要将%JAVA_HOME%\bin上移至环境变量最高处(赋予它最高的优先级)
超详细WindowsJDK1.8与JDK11版本切换教程_第16张图片


之后,我们再次查看JDK版本是否切换成功:输入java -version命令查看JDK版本
超详细WindowsJDK1.8与JDK11版本切换教程_第17张图片

我们看到已然切换成功!!!

你可能感兴趣的:(各类软件安装配置合集,java,jvm,windows)