多个JDK使用批处理命令切换JDK版本
本篇博客参考的链接
http://blog.csdn.net/hu199055/article/details/70145389
https://www.cnblogs.com/xdp-gacl/p/5209386.html
http://blog.csdn.net/u010933908/article/details/50719512
以上的文章中,孤傲苍狼的版本会出现不能使用软件RefreshEnv刷新变量,5yong的版本有修改path变量,所以这里我做了一些简单的修改。
使用批处理命令切换JDK需要用到的软件可去上面的链接中下载(下面也会给出)
首先,新建文本文档。其次,用记事本打开后,请把下面的命令复制进去。
@echo off
rem --- Base Config 配置JDK的安装目录 ---
:init
set JAVA_HOME_1_8=C:\Program Files\Java\jdk1.8.0_102
set JAVA_HOME_1_7=C:\Program Files\Java\jdk1.7.0_15
:start
echo 当前使用的JDK 版本:
java -version
echo.
echo =============================================
echo jdk版本列表
echo 1.8
echo 1.7
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%
)
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 --- set path ---
rem set jhb=%TARGET_JAVA_HOME%\bin
rem set pt=%Path%
rem call set pt=%%pt:%jhb%;=%%
rem call set pt=%%pt:%jhb%=%%
rem wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="%jhb%;%pt%"
rem 下面一句进入当前批处理文件所在的路径。因为,以管理员身份处理时,当前路径为%root%Systems32
cd /d %~dp0 
rem -- refresh env ---
call RefreshEnv
echo 请按任意键退出!
pause>nul
@echo on
上面的JDK地址记得修改
之后,文件->另存为->修改后缀名为.bat->修改保存类型为所有文件->保存。
最后请下载RefreshEnv这个软件(下载地址: https://pan.baidu.com/s/1baGnpW),把软件与这个批处理文件放在同一个目录下
最后,使用管理员的身份就可以随意的切换JDK了。
当然了,这里可能还存在一些问题,比如有:切换了之后还是不行,虽然JAVA_HOME变了,但是其实版本还是没有变怎么办?
这是因为java6后好像会在system32中添加java.exe,javaw.exe,javac.exe这些文件,只要进去C:\Windows\System32把这些文件删除就可以了。
多个JDK使用批处理命令切换JDK版本的更多相关文章
- DOS批处理命令判断操作系统版本、执行各版本对应语句
		
DOS批处理命令判断操作系统版本.执行各版本对应语句 昨天在家里试用 netsh interface ip set address 这些命令更改上网IP.DNS.网关等,今天将那些代码拿来办公室 ...
 - 在Centos下用alternative命令切换各个版本的jdk的方法
		
https://blog.csdn.net/nsrainbow/article/details/43273991 https://blog.csdn.net/yzh_1346983557/articl ...
 - Win7 下以管理员身份运行批处理文件,切换JDK版本
		
Win7下 切换JDK的批处理命令 1. 批处理文件(必须以管理员身份执行)内容如下 @echo off rem --- Base Config 配置JDK的安装目录 --- :init set JA ...
 - [转] - Linux中使用alternatives切换Jdk版本
		
1. 准备JDK包,分别是1.7和1.8,jdk-7u79-linux-x64.tar.gz和jdk-8u161-linux-x64.gz: 2. 解压,解压后的目录结构如图所示: JDK1.7: J ...
 - 如何在windows下切换node版本
		
安装nvm 最近的项目中,一个是用vue项目开发,一个是使用react开发,但是ant design pro使用了umi框架,所需要的node版本>10.0.0,vue那个项目中又不兼容node ...
 - 切换JDK版本quick
		
最近遇到一个小问题,同时做两个项目,jdk版本一个是5,一个是6,我也去网上找了找方法,但是感觉不是特别好用,最后自己通过一些环境变量设置的技巧和一些批处理命令来使得这件事情只需要双击,输入一个数字回 ...
 - CentOS 6.5移除openJDK及JDK安装环境变量配置及JDK版本切换
		
一.查找已经安装的open JDK [root@localhost ~]# rpm -qa|grep jdk java--openjdk-.el6_3.x86_64 java--openjdk-1.7 ...
 - 【JAVAWEB学习笔记】26_Linux基础:简介安装、常用命令和JDK、Mysql、Tomcat的安装
		
Linux基础 学习目标 1.了解Linux的简介与安装 2.掌握Linux常用的命令 3.掌握Linux系统上JDK.Mysql.Tomcat的安装 一.Linux的简介 1.Linux的概述 Li ...
 - Java - 怎么通过环境变量来切换jdk版本
		
问题与分析 我在本地安装了1.7和1.8两个版本的jdk,此时我的JAVA_HOME环境变量配置的是jdk1.8,在cmd窗口输入java -version发现报错如下: C:\Users\Lewis ...
 
随机推荐
- Maste Note for OCR / Vote disk Maintenance Operations (ADD/REMOVE/REPLACE/MOVE)
			
Doc ID 428681.1 Applies to: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.1.0 [R ...
 - Hibernate学习(二补充)关系映射----基于外键的双向一对一
			
刚刚写的是基于外键的单向一对一. 那么双向一对一就是在单向一对一的基础上稍微改动就可以了. account.java和account.hbm.xml都不用变动 只要我们小小的变动address.j ...
 - 迭代var()内置函数的时候出现RuntimeError: dictionary changed size during iteration的解决办法
			
下午看了Mr Seven的教学视频,其中有一段讲全局变量的视频,迭代输出全局变量的时候报错了. 视频中的做法: for k,v in vars().items(): print(k) 打印结果 for ...
 - charles支持https抓包配置
			
自从公司站点全部启用https后,使用charles就不能像以前那样愉快的抓包啦!不过没关系,这里教你怎么配置charles,使其支持https抓包.之前有一篇介绍charles的使用,参考这篇:ht ...
 - vue双向绑定的原理及实现双向绑定MVVM源码分析
			
vue双向绑定的原理及实现双向绑定MVVM源码分析 双向数据绑定的原理是:可以将对象的属性绑定到UI,具体的说,我们有一个对象,该对象有一个name属性,当我们给这个对象name属性赋新值的时候,新值 ...
 - SQL Server-聚焦ROW_NUMBER VS TOP N性能
			
前言 抱歉各位,从八月份开始一直在着手写EntityFramework 6.x和EntityFramework Core 2.0的书籍写作,所以最近一直遗漏了对博客的管理,后面会着手于写SQL Ser ...
 - 谈谈CommonsChunkPlugin抽取公共模块
			
引言 webpack插件CommonsChunkPlugin的主要作用是抽取webpack项目入口chunk的公共部分,具体的用法就不做过多介绍,不太了解可以参考webpack官网介绍: 该插件是we ...
 - mysql 先分组在排序
			
mysql语句的语法模板: select distinct <select_list> from <left_table><join_type> join < ...
 - Java JTS & 空间数据模型
			
空间数据模型 判断两个几何图形是否存在指定的空间关系.包括: 相等(equals).分离(disjoint).相交(intersect).相接(touches).交叉(crosses).包含于(wit ...
 - 使用requests爬取猫眼电影TOP100榜单
			
Requests是一个很方便的python网络编程库,用官方的话是"非转基因,可以安全食用".里面封装了很多的方法,避免了urllib/urllib2的繁琐. 这一节使用reque ...