windows快速切换jdk版本号

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言

因为老项目和新项目的需要在电脑上需要切换jdk1.8和jdk17其它版本jdk同样可以切换。网上有修改配置文件的方式但是感觉比较繁琐后来找到了通过bat文件和环境变量来快速切换jdk环境的方法。这里记录分享出出来
只需要通过命令行即可完成切换。


windows快速切换jdk版本号

1 效果图

管理员身份运行cmd窗口

在这里插入图片描述

效果图 打开新的命令行窗口

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2 安装需要切换的jdk并配置环境变量

官网jdk下载地址

在这里插入图片描述
通过官网下载需要的jdk

网上有很多说通过exe或msi安装的jdk会默认该什么文件导致切换不生效所以如果大家还没有下载安装就直接下载zip的压缩包自己解压配置环境吧。

当然如果已经安装好了或者只安装了一个也不用卸载下面我会分享自己遇到的不生效解决方案如果遇到应该也可以解决你的问题。
我的安装目录
在这里插入图片描述

3 环境变量配置

环境变量配置
如果你已经安装配置过一个jdk的环境变量那么就按照下面修改即可。
如果没有配置过可以看着我下面的配置文件配置或者留言给我。

在这里插入图片描述

选择系统变量点击新建输入变量名JAVA_HOME变量值为JDK的bin目录所在路径。如图
注意不用带bin
在这里插入图片描述

选择系统变量找到Path变量点击编辑。
点击新建输入%JAVA_HOME%\bin点击确定。
在这里插入图片描述
配置脚本所在目录
这样打开cmd输入bat脚本名就可以执行
在这里插入图片描述

4 bat脚本

根据下面配置文件的注解修改一下自己jdk和环境变量刷新程序的路径即可。


@echo off
 
rem --- Base Config 配置JDK的安装目录---
:init 
set JAVA_HOME_1_7=C:\Program Files\Java\jdk-17.0.6
set JAVA_HOME_1_8=C:\Program Files\Java\jdk1.8.0_162
rem 刷新环境变量的程序绝对路径
set RefreshEnv=C:\Progra~1\Java\cut_jdk\RefreshEnv.exe
echo 当前使用的JDK版本: 
echo ============================================= 
java -version 
echo. 
echo ============================================= 
echo jdk版本列表〃 
echo 8
echo 17
echo ============================================= 
 
:select
set /p opt=请选择jdk版本
if %opt%==8 (
    set TARGET_JAVA_HOME=%JAVA_HOME_1_8%
)
if %opt%==17 (
    set TARGET_JAVA_HOME=%JAVA_HOME_1_7%
)
 
echo 当前选择的Java路径:%TARGET_JAVA_HOME%
 
wmic ENVIRONMENT where "name='JAVA_HOME'" delete
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%TARGET_JAVA_HOME%"
 
rem 刷新环境变量
call %RefreshEnv%

echo 按任意键退出  
pause>nul
 
@echo on


刷新环境变量的程序放在文章最后

这里有个配置需要注意如果你的程序放在了 C:\Program Files 目录下

在这里插入图片描述
那么路径就要配置成

C:\Progra~1\

在这里插入图片描述
其它路径直接复制粘贴过来即可

5 不生效问题解决

问题1 不生效

更换jdk版本且修改环境变量并不能生效如原本安装了1.8现更换为1.7且配置了环境变量但是java -version仍显示1.8。

原因

当使用安装版本的JDK程序时一般是1.7版本以上在安装结束后安装程序会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到C:\Windows\System32目录这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级故此直接更改JAVA_HOME会无效。
另外JDK1.8安装版本还会在C:\ProgramData\Oracle\Java目录中生成一些配置文件并同时将此目录写到环境变量中的Path中。

解决

删除C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件

删除环境变量Path中C:\ProgramData\Oracle\Java\javapath的配置

我的C:\Windows\System32 中并没有这三个文件但是删除了环境变量里上面的配置生效了一次

如果还不生效再path中将java的配置移动到最上面
在这里插入图片描述

问题2 运行命令时报找不到可执行的程序

这个问题主要就是如果你的刷新环境变量工具如果放在了
C:\Program Files 目录下

配置会报找不到程序。
在这里插入图片描述

路径需要改成
那么路径就要配置成

C:\Progra~1\

在这里插入图片描述

6 源码 demo

jdk1.8 – 自行下载
jdk17 – 自行下载
cutjdk.bat – 见文章 目录4 bat脚本
RefreshEnv.exe – 脚本刷新工具 传送门
在这里插入图片描述
在这里插入图片描述

到这里基本都可以实现大家的需求麻烦大家帮文章点点赞喽没有c币的小伙伴帮忙多给我文章多点点赞私信我给你

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: windows