快速切换JDK版本
一、系统多版本的JDK切换方案
JDK准备
去官网下载想要切换的JDK版本,
官网:https://www.oracle.com/cn/java/technologies/downloads/
我这里准备了jdk-8和jdk-11作为演示
我的JDK8的绝对路径是E:\Java\JDK1.8\JDK1.8
,JDK11的绝对路径是E:\Java\jdk-11.0.20
这里一定要记住自己JDK存放的路径,因为要设置环境变量
添加JAVA8_HOME环境变量
我的电脑 > 单击右键 > 属性 > 高级系统设置
点击环境变量
![image-20231008183403852](https://i-blog.csdnimg.cn/blog_migrate/ac33d54c5e6671eb44cf0b9e2d58a879.png)
点击新建
![image-20231008183450079](https://i-blog.csdnimg.cn/blog_migrate/2797dd85ed1d58a83fce839c61c51000.png)
变量名为JAVA8_HOME
,值为存放JDK8的根目录,点击确定。
![image-20231008183648836](https://i-blog.csdnimg.cn/blog_migrate/54e89f5b71527ebda131887af4dda9c8.png)
添加JAVA11_HOME环境变量
按照上面的步骤再次新建一个环境变量,变量名为JAVA11_HOME
,值为存放JDK11的根目录
![image-20231008183758000](https://i-blog.csdnimg.cn/blog_migrate/504a8865ba97bb501f58b8cd62b2b6f0.png)
添加JAVA_HOME环境变量
按照上面的步骤再次新建一个环境变量,变量名为JAVA_HOME
,值为暂时为%JAVA8_HOME%
其中%%
的作用是读取JAVA8_HOME
环境变量的值,也就是说JAVA_HOME
环境变量存放的是JDK8的地址。
![image-20231008184108066](https://i-blog.csdnimg.cn/blog_migrate/e67d08a5e1d58eab6a8898da556eb656.png)
修改PATH环境变量
找到系统变量里面的PATH环境变量,点击修改或者双击
![image-20231008184229993](https://i-blog.csdnimg.cn/blog_migrate/44bce2ea32997b6c4c193f9cf099b3f4.png)
点击新建,添加一条%JAVA_HOME%\bin%
的环境变量。Java JDK 和 JRE 安装包通常包含一个名为 bin
的子目录,其中包含了 Java 的可执行文件,如 java.exe
、javac.exe
等。这些文件负责执行 Java 程序编译和运行的任务。同样%JAVA_HOME%
读取的是刚才编写的JAVA_HOME
的环境变量,这样就能通过JAVA_HOME
找到JDK的bin目录,执行里面的可执行程序。
![image-20231008184326267](https://i-blog.csdnimg.cn/blog_migrate/5cf16033f4c06fcfb5538fe4f6d7dbeb.png)
测试JDK安装情况
在编辑完环境变量之后,就可以测试JDK是否安装成功,按照上面的步骤,现在测试的JDK版本应该是JDK8。
WIN+R打开命令提示符,输入java -version
命令检查JDK的版本,如果能输出1.8则安装成功
如果输出'java' 不是内部或外部命令,也不是可运行的程序或批处理文件。
则表示你的环境变量没有设置好。
切换JDK的版本
根据上面的配置,我们的JAVA_HOME
环境变量设置的是JAVA8_HOME
的地址,所以我们现在的系统安装的JDK应该是JDK8。
![image-20231008185515845](https://i-blog.csdnimg.cn/blog_migrate/f6657d0322114ea3bf158f5070c7fe5d.png)
那么现在只需要修改JAVA_HOME
的环境变量为%JAVA11_HOME%
即可快速的切换JDK的版本。
![image-20231008185635773](https://i-blog.csdnimg.cn/blog_migrate/aeb4edb7d697477f91ee955300802a91.png)
现在再来查看JDK的版本java -version
,成功切换。
![image-20231008185740017](https://i-blog.csdnimg.cn/blog_migrate/8bbbcada14adbc4782d1e550c9e28a4d.png)
二、使用脚本切换环境变量
创建修改脚本
上面切换JDK版本的本质就是切换环境变量,但是我们每次都切换环境变量是不是有些麻烦,作为一个懒人,我们可以考虑其他的切换方式,比如写一个脚本。
我们可以使用bat脚本的setx
命令将新的 JAVA_HOME
值写入系统环境变量。添加/M
选项将变量添加到系统环境变量而不是用户环境变量。
我们创建一个JDK8.bat的脚本文件,并使用记事本打开编辑,写入下面代码
@echo off
setx JAVA_HOME "%JAVA8_HOME%" /M
start cmd /k echo JAVA -version=8
@echo off
:@echo off
是批处理脚本(BAT)中的一个命令,用于关闭或禁用脚本的命令回显。
setx JAVA_HOME "%JAVA8_HOME%" /M
:setx
用于设置环境变量的命令。将"%JAVA8_HOME%"
分配给JAVA_HOME
。/M
选项表示要将变量添加到系统环境变量而不是用户环境变量。这将使JAVA_HOME
在整个系统范围内可用。
start cmd /k echo JAVA -version=8
:start cmd
命令用于启动新的命令提示符窗口,以便在其中执行后续命令。/k
选项告诉新的命令提示符窗口在执行完命令后不要关闭自己,以便你可以查看输出。echo JAVA -version=8
命令用于在新的命令提示符窗口中输出文本 “JAVA -version=8”。这是一个显示消息的命令。
同时在编写一个JDK11.bat的批处理文件,用于修改JDK11
@echo off
setx JAVA_HOME "%JAVA11_HOME%" /M
start cmd /k echo JAVA -version=8
![image-20231008190700852](https://i-blog.csdnimg.cn/blog_migrate/95d4ee00dedfedabd8c119a8af82c724.png)
注意:因为操作涉及修改环境变量,一定要单击右键 > 管理员运行
![image-20231008190841776](https://i-blog.csdnimg.cn/blog_migrate/a595f5e586a6da831d88e7a88b2a93dd.png)
运行成功显示以下内容:
![image-20231008190929836](https://i-blog.csdnimg.cn/blog_migrate/14bd62b3c05fa592d5079ca399e0b7b8.png)
同时我们可以重新打开一个命令提示符,验证是否已经修改成功
![image-20231008191022767](https://i-blog.csdnimg.cn/blog_migrate/c475d82a243c1f64e1e7545c56f5f0b3.png)
默认使用管理员打开脚本
我们发现每次使用脚本还得单击右键使用管理员打开,我们能不能直接双击打开脚本的时候就自动默认使用管理员打开呢?
文件默认使用管理员方式打开是通过修改他的高级属性的,但是我们发现直接打开bat的高级属性并没有默认使用管理员打开。
![image-20231008191410735](https://i-blog.csdnimg.cn/blog_migrate/288d834faa83d6fcd4af07e8c061ff62.png)
![image-20231008191501278](https://i-blog.csdnimg.cn/blog_migrate/22f48db22cfa8fea7b9ea567fabc2e8a.png)
我们可以通过创建快捷方式实现
![image-20231008191542731](https://i-blog.csdnimg.cn/blog_migrate/7ee230e61b86690a79d5511cfa19bfe6.png)
![image-20231008191618268](https://i-blog.csdnimg.cn/blog_migrate/f642eef1574b9f2294e1d606cb5c31ae.png)
打开高级属性,修改默认管理员打开,点击确定,这样以后使用都使用快捷方式就可以啦
![image-20231008191708964](https://i-blog.csdnimg.cn/blog_migrate/b0218b3f7d5824a509ffa359c5823133.png)