批处理wmic配置环境变量,实现多个版本的JDK切换

一.JDK版本切换批处理脚本

  我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示:

  

  当我们想要切换使用的JDK版本时,我们可以有两种做法:

  1.手动去修改JAVA_HOME环境变量,将变量的值指向对应的JDK版本的安装目录即可.

  2.通过编写批处理脚本来根据选择的JDK版本动态修改JAVA_HOME环境变量的值,这是一种偷懒的做法,这种做法需要一个RefreshEnv.exe辅助软件来刷新环境变量的值

  在网上找到了一段可以动态修改JAVA_HOME环境批处理脚本,从而实现了JDK版本的动态切换,脚本代码如下:

复制代码
复制代码
 1 @echo off
 2 
 3 rem --- Base Config 配置JDK的安装目录 ---
 4 :init 
 5 set JAVA_HOME_1_8=C:\Program Files\Java\jdk1.8.0_11
 6 set JAVA_HOME_1_7=C:\Program Files\Java\jdk1.7.0_45
 7 set JAVA_HOME_1_6=C:\Program Files\Java\jdk1.6.0_45
 8 :start 
 9 echo 当前使用的JDK 版本: 
10 java -version 
11 echo. 
12 echo ============================================= 
13 echo jdk版本列表 
14 echo 1.8 
15 echo 1.7
16 echo 1.6 
17 echo ============================================= 
18 
19 :select
20 set /p opt=请选择jdk版本: 
21 if %opt%==1.8 (
22     set TARGET_JAVA_HOME=%JAVA_HOME_1_8%
23 )
24 if %opt%==1.7 (
25     set TARGET_JAVA_HOME=%JAVA_HOME_1_7%
26 )
27 if %opt%==1.6 (
28     set TARGET_JAVA_HOME=%JAVA_HOME_1_6%
29 )
30 
31 echo 当前选择的Java路径:%TARGET_JAVA_HOME%
32 
33 wmic ENVIRONMENT where "name='JAVA_HOME'",UserName="<SYSTEM>" delete
34 wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%TARGET_JAVA_HOME%"
35 
36 rem -- refresh env ---
37 call RefreshEnv
38 
39 echo 请按任意键退出!   
40 pause>nul
41 
42 @echo on
复制代码
复制代码

  这段批处理脚本代码是根据我们选择的JDK版本来动态修改JAVA_HOME环境变量的,然后RefreshEnv.exe来刷新环境变量的值.

二.使用方法

  将上述的批处理脚本代码保存为.bat文件,并将RefreshEnv.exe辅助软件和.bat脚本文件放到同一个目录下,如下图所示:

  

  双击.bat文件运行批处理脚本,根据提示操作即可,如下图所示:

  

  执行完成后,JAVA_HOME环境变量的值就被修改成对应的JDK版本的安装目录了

  

  

  这段批处理脚本只会修改JAVA_HOME环境变量的值,不会影响到Path变量的值,因此可以放心使用.为了方便大家使用,我把工具分享给大家,JDK版本切换工具下载

 

 

出处:https://www.cnblogs.com/xdp-gacl/p/5209386.html

posted on   jack_Meng  阅读(318)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-12-03 关于C#中使用消息获取Message.LParam所包含的数据
2020-12-03 WinForm中DefWndProc、WndProc与IMessageFilter的区别
2020-12-03 C# 使用SendMessage 函数
2015-12-03 AngularJS简介
2012-12-03 VBS _获取系统本次及上次开关机时间WinXP Win7兼容版

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩