一文解决Windows系统JDK版本快速切换问题(内附【快速切换bat脚本】)(同时解决JDK版本切换失败问题)

简介

心得写在这里,在Windows系统中打开某些软件,经常遇到Java环境不兼容的问题,此时需要切换不同的jdk版本(jdk具体版本的下载可自行百度)。本文将从【jdk版本切换本质】【bat脚本快速切换jdk版本】【jdk版本切换失败原因分析及解决】三个方面透彻解决jdk版本切换所有问题。图示(不同软件的错误提示可能不同):

一、 JDK版本切换本质

Ⅰ、快速通道:

如果已经知道了JDK版本切换的本质,那么直接跳至【二、bat脚本快速切换jdk版本拿bat脚本即可(记得点赞转发谢谢)

Ⅱ、本质

JDK版本切换本质是更改操作系统中Java开发工具和运行时环境的引用路径,【修改环境变量】,特别是JAVA_HOMEPATH变量,以指向不同版本的Java Development Kit (JDK)。当你在终端或命令提示符中执行Java程序或使用Java开发工具(如javac)时,系统将根据这些环境变量决定使用哪个版本的JDK。

Ⅲ、检查环境变量

为了演示JDK的版本切换,我在电脑上安装的两个不同版本的JDK,分别是jdk1.8.0_181和jdk11.0.10,当然你也可以安装其他自己需要的版本,此时我们打开【系统属性-环境变量】来检查一下。

以我的系统环境为例,红框中的变量是我要检查的变量,可以看到有三个变量,分别是JAVA_HOME、JAVA1.8_HOME、JAVA11_HOME,其中JAVA_HOME变量在Path变量中被定义,JAVA11_HOME下添加的值(路径)为引用JDK不同版本的根目录,其他两个变量指向了不同的JDK版本的根目录。上图可以看出,我当前的环境引用的JDK版本是jdk1.8.0_181。也就是说你要切换什么版本的JDK,那么JAVA_HOME变量的值就改为你要切换的那个JDK版本的根目录。

PS:如果已经安装了JDK,但环境变量中没有,则可自行添加,变量名称命名方法参照上图,值为路径,路径为JDK根目录。

二、bat脚本快速切换jdk版本

Ⅰ、贴脸开大(bat脚本)

请注意脚本中我写的中文提示需要删除

将以下代码复制到本地txt文档,修改完毕后保存,将.txt扩展名改为.bat

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

echo Current Java Version:
java -version
echo.
echo.
echo.

:menu
echo =============================================
echo choose jdk version
echo 1: jdk-1.8.0_181(你的版本)
echo 2: jdk-11.0.10(你的版本)
echo 0: cancel
echo =============================================
set /p ch=choose version:
if "%ch%"=="1" goto jdk-1.8.0_181
if "%ch%"=="2" goto jdk-11.0.10
if "%ch%"=="0" goto end
goto menu

:jdk-1.8.0_181(对应你的版本)
setx "JAVA_HOME" "C:\你的路径\Java\jdk1.8.0_181" /m
goto end

:jdk-11.0.10(对应你的版本)
setx "JAVA_HOME" "C:\你的路径\Java\jdk11.0.10" /m
goto end

:end
pause

Ⅱ、效果演示

运行脚本后可以看到,第一段为当前系统环境的JDK版本是多少,第二段是当前你能选择的JDK版本有哪些,第三段为你选择要切换哪个JDK版本,选择后回车即可。win+R再打开一个cmd窗口,输入java -version即可查看当前系统环境的版本。一定要注意:每次检查java版本都要新打开一个cmd窗口。

请多尝试切换几次,每次都查看当前系统环境的版本,如果与自己选的相同,则说明脚本生效。

如果无论如何切换,版本依然没有切换,请看【三、jdk版本切换失败原因分析及解决】。

三、jdk版本切换失败原因分析及解决

一定要记得我在开篇【一、JDK版本切换本质】讲到的,本质是什么。

当通过bat脚本切换失败后请不要着急,注意检查以下几个点:

1.打开环境变量,看JAVA_HOME变量的值,是否每次执行bat脚本切换,JAVA_HOME变量的值都会随之改变为你要切换的JDK版本的文件根目录。如果不是请检查bat脚本是否编写正确。

2.检查【系统变量】中的Path变量的值是否有

%JAVA_HOME%\bin

如果没有,请直接复制添加。

3.检查%JAVA_HOME%\bin这个值优先级是否在"...Oracle\Java\javapath"值,如果不是,请自行上移,如下图所示位置即可:

  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Windows系统中,要使用命令行一键切换多个JDK版本,可以按照以下步骤操作: 1. 首先,在当前用户的环境变量中设置JDK的安装路径。在命令行中输入`setx JAVA_HOME "JDK的安装路径"`。例如,如果要切换到JDK 8,将路径替换为JDK 8的安装路径。 2. 接下来,更新系统的Path变量。在命令行中输入`setx Path "%JAVA_HOME%\bin;%Path%"`。这将把JDK的bin文件夹路径添加到系统的Path变量中,使得系统能找到正确的JDK版本。 3. 为了实现一键切换,可以编写一个批处理脚本或者PowerShell脚本。在脚本中,可以使用`setx`命令来切换JDK的安装路径和更新系统的Path变量。 4. 在脚本中,可以定义不同的变量来表示不同的JDK版本,然后在切换时将对应的变量传递给`setx`命令。 5. 最后,在命令行中运行脚本即可一键切换多个JDK版本。可以创建不同的脚本切换到不同的JDK版本,这样就可以根据需要灵活选择。 通过以上步骤,我们可以使用命令行一键切换多个JDK版本。这样可以方便地在不同的项目中使用不同的JDK版本,并且避免了手动修改环境变量的繁琐步骤。 ### 回答2: 在Windows系统上,可以通过以下步骤使用命令行一键切换多个JDK版本: 1. 首先,确保你已经安装了多个不同版本的JDK,并记录它们的安装路径。 2. 打开命令提示符(CMD)或者PowerShell。 3. 输入以下命令来设置环境变量,将你想要切换JDK版本路径添加到PATH环境变量中: ``` setx /M JAVA_HOME "C:\Path\to\your\jdk\version" setx /M PATH "%JAVA_HOME%\bin;%PATH%" ``` 注意,将上面的`C:\Path\to\your\jdk\version`替换为你想要切换JDK版本的安装路径。 4. 使用以下命令来验证JDK版本是否已成功更改: ``` java -version ``` 5. 如果你想要切换到另一个JDK版本,重复步骤3和4。 请注意,这种方法只在当前的命令提示符或者PowerShell会话中生效。如果你想要在重新启动后保留更改,你需要将以上步骤执行的命令添加到你的系统环境变量中。 总之,通过设置环境变量和添加到PATH中,使用CMD或者PowerShell可以轻松地在Windows系统中一键切换多个JDK版本。 ### 回答3: 在Windows系统上,我们可以使用命令行来一键切换多个JDK版本。下面是一个简单的步骤: 1. 首先,在计算机上安装多个不同版本的JDK,并设置好对应的环境变量。 2. 打开命令提示符,可以通过按下Win键+R,然后输入“cmd”来打开。 3. 在命令行中,使用“where java”命令来查找当前系统中已安装的所有JDK的路径。该命令会列出所有JDK的安装位置。 4. 根据需要,将不同版本的JDK路径添加到环境变量中。使用“setx JAVA_HOME <JDK路径>”命令来设置对应JDK的JAVA_HOME环境变量。 5. 然后,使用“setx PATH %JAVA_HOME%\bin;%PATH%”来设置PATH环境变量。这将确保命令行可以找到所选的JDK版本。 6. 现在,可以使用“java -version”命令来验证所选的JDK版本。在命令行中输入该命令后,将显示当前运行的JDK的版本信息。 7. 如果需要切换到另一个JDK版本,只需重复第4步和第5步,重新设置JAVA_HOME和PATH环境变量。 通过以上步骤,我们可以使用命令行在Windows系统中一键切换多个JDK版本。这样可以方便地在不同项目或开发环境之间切换,确保与应用程序的版本要求相匹配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值