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

  
 
 
 
 
 
 
 
 
 
 
当我们想要切换使用的JDK版本时,我们可以有两种做法:
 
  1.手动去修改JAVA_HOME环境变量,将变量的值指向对应的JDK版本的安装目录即可.
 
  2.通过编写批处理脚本来根据选择的JDK版本动态修改JAVA_HOME环境变量的值,这是一种偷懒的做法,这种做法需要一个RefreshEnv.exe辅助软件来刷新环境变量的值
 
  在网上找到了一段可以动态修改JAVA_HOME环境批处理脚本,从而实现了JDK版本的动态切换,脚本代码如下:
 
  

 @echo off

 rem --- Base Config 配置JDK的安装目录 ---
:init
set JAVA_HOME_1_8=C:\Program Files\Java\jdk1.8.0_11
set JAVA_HOME_1_7=C:\Program Files\Java\jdk1.7.0_45
set JAVA_HOME_1_6=C:\Program Files\Java\jdk1.6.0_45
:start
echo 当前使用的JDK 版本:
java -version
echo.
echo =============================================
echo jdk版本列表
echo 1.8
echo 1.7
echo 1.6
echo ============================================= :select
set /p opt=请选择jdk版本:
if %opt%==1.8 (
set TARGET_JAVA_HOME=%JAVA_HOME_1_8%
)
if %opt%==1.7 (
set TARGET_JAVA_HOME=%JAVA_HOME_1_7%
)
if %opt%==1.6 (
set TARGET_JAVA_HOME=%JAVA_HOME_1_6%
) 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 -- refresh env ---
call RefreshEnv echo 请按任意键退出!
pause>nul @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

Windows下多个JDK版本之间的切换的更多相关文章

  1. Ubuntu下多个gcc版本之间的切换

    Ubuntu下多个gcc版本之间的切换 1.查看当前系统的gcc版本 gcc -v 会输出以下信息: Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO ...

  2. 【开发工具】- Windows下多个jdk版本切换

    一.直接安装jdk,如图我安装了JDK6.JDK7和JDK8三个版本: 二.在安装JDK8后需要在 C:\Windows\System32 该目录下删除 java.exe 和 javaw.exe两个文 ...

  3. Windows下多个JDK版本的切换方法

    问题 因我之前在window中无法命令行输入,后来发现是电脑中存在多个JDK,导致设置混乱. 于是,我继续深入研究了当电脑存在多个JDK的情况下,如何设置想要的JDK版本. 步骤 1.更改环境变量 进 ...

  4. 〖Linux〗多个JDK版本之间快速切换

    由于工作的需要,经常要切换JDK版本比如我HOME目录下有三个JDK版本: ~/apt/jdk1..0_34 # JDK6 ~/apt/jdk1..0_67 # JDK7 ~/apt/jdk1..0_ ...

  5. ubuntu中 不同JDK版本之间的切换

    Ubuntu中JDK 的切换前提是同时安装了多个版本,如jdk7和jdk8,若要切换,在终端输入: sudo update-alternatives --config java sudo update ...

  6. Python虚拟环境的安装和配置-virtualenv与windows下多个python版本共存

    Python虚拟环境的安装和配置-virtualenv与windows下多个python版本共存 windows下多个python版本共存 https://www.python.org/downloa ...

  7. windows下多个python版本共存,如何在Windows7系统上安装最新的64位Python3.6.2

    windows下多个python版本共存,如何在Windows7系统上安装最新的64位Python3.6.2 1.官网下载python3.6.2https://www.python.org/ftp/p ...

  8. windows下php的各个版本下载地址

    windows下php的各个版本 https://windows.php.net/downloads/releases/archives/

  9. [转]windows下多个python版本共存,pip使用

    windows下多个python版本共存,pip使用 2017年09月13日 17:21:30 阅读数:2574 一.同时装了Python3和Python2,怎么区分 了解python的人都知道pyt ...

随机推荐

  1. 终于搞定在VS2010中将CString转换为const char*

    最近碰到了CString 转 const char *的问题. 以前只要简单的一个强制转换就OK了,可现在是不行了,搜索了很多资料,终于搞定,主要是Unicode和ANSI的问题,只要做一个转换就可以 ...

  2. Azure Powershell部署使用平台映像的托管Windows VM及相关问题说明

    1.脚本背景信息: a.使用平台镜像(Windows Server 2016 zh-cn)部署高性能托管磁盘虚拟机 b.虚拟机默认不开启Boot诊断 c.添加三块已经创建好的数据磁盘 d.添加已创建好 ...

  3. Laravel5.5 引入并使用第三方类库操作

    理论上,Laravel5系列都支持,各位可以一试.我这里使用5.5版本. 我这里引入了一个将汉字转化为拼音的类库测试,一起来看看吧! 首先,在laravel的app目录下自定义一个文件夹,我用的名字是 ...

  4. 关于ajax学习

    一.Ajax是XMLHttpRequest对象,javascript,XML,CSS,DOM等多种技术的组合 1.XML :(可扩展的标记语言) 提供了用于描述结构化数据的格式,适用于不同应用间的数据 ...

  5. Oracle PL/SQL学习之基础篇(1)

    1.PL/SQL,全称Procedure Language/SQL,过程化sql语言 PL/SQL的程序结构 declare --声明部分(包括变量.光标.例外声明) begin --语句序列(DML ...

  6. Wi-Fi科普讲稿

    Wi-Fi 从入门到?? 组员:deleted 什么是Wi-Fi Wi-Fi 在中文里又称作"无线热点",是Wi-Fi联盟制造商的商标做为产品的品牌认证,是一个创建于IEEE 80 ...

  7. smtp自动发送邮件demo

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net ...

  8. LeetCode-13. Roman to Integer(罗马数字转阿拉伯数字)

    1.题目描述 Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range f ...

  9. 15.Iterator和for...of循环

    1.Iterator(遍历器)的概念 JavaScript原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6又添加了Map和Set.这样就有了四种数据集合,用户还可以 ...

  10. django notes 五:Writing models

    models 其实也没什么好说的,就是普通的 python 类 settings 中配置数据库连接 DATABASES = { 'default': { 'ENGINE': 'django.db.ba ...