一.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. POJ 2192

    #include <iostream> #include <string> #define MAXN 500 using namespace std; bool dp[MAXN ...

  2. JS对Date的扩展,将 Date 转化为指定格式的String

    /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符 * ...

  3. HQL的使用和limit的替代

    1.HQL不同于SQL,from必须是项目中table反转后对应的class的名字. 2.如何使用参数生成HQL语句: String hql = "from User where userI ...

  4. UVA_11922 Permutation Transformer 【splay树】

    一.题目 UVA11922 二.分析 为什么会有伸展树? 伸展树与AVL的区别除了保持平衡的方式不同外,最重要的是在每次查找点时,让该点旋转到根结点,这里可以结合计算机里的局部性原理思考. 伸展树有什 ...

  5. TP5 隐藏入口文件 index.php

    找到public下的.htaccess <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine ...

  6. ZigZag编码

    ZigZag编码 在网络传输和数据存储场景中,需要对数据进行压缩.数据压缩的算法非常多,但大部分的数据压缩算法的原理是通过某种编码方式不存储数据中的0比特位,因此0比特位越多,数据压缩的效果越好.Zi ...

  7. Mac 10.12安装抓包工具Charles

    说明:青花瓷,Filddler之后就是这个最好用.收费软件. 下载: (链接:https://pan.baidu.com/s/1kV1Robl 密码: 3g6u)

  8. 在linux上一行代码不用写实现自动采集+hadoop分词

    在linux上一行代码不用写实现自动采集+hadoop分词 将下面的shell脚本保存成到xxx.sh,然后执行即可 cd /opt/hadoop mkdir spider wget -O spide ...

  9. 【转】Python格式化字符串str.format()

    原文地址:http://blog.xiayf.cn/2013/01/26/python-string-format/ 每次使用Python的格式字符串(string formatter),2.7及以上 ...

  10. (转)rsync+inotify实时同步

    原文:http://lxw66.blog.51cto.com/5547576/1331048 声明:rsync inotify 需要逆向思考,当只做rsync不实时同步时,我们一般是从rsync服务端 ...