问题描述
平常用的是java8,最近在学习java的新特性。这就需要从java8往更高的java版本切换。由于还在使用java8,测试完新特性后我需要再切换回java8
如何切换
安装java的时候我们会配置JAVA_HOME这个环境变量.所有要切换java版本,只需要修改JAVA_HOME即可,在JAVA_HOME里面写上java8的安装目录,那就使用的是java8,JAVA_HOME里面写上java9的安装目录,则使用的是java9
解决方案
手动切换
手动修改,JAVA_HOME中的地址即可,这里不介绍
在cmd中临时切换java版本
例如现在在cmd中,临时需要用到java9的jshell,可以输入如下命令进行设置:
set path=E:\java\java9\jdk-9\bin;%path%
其中:
E:\java\java9\jdk-9\bin
是jdk9的安装路径.
批处理实现
因为手动修改JAVA_HOME,太过繁琐,所以通过一个批处理程序来实现.
新增环境变量
新增JAVA_HOME_8,JAVA_HOME_9,JAVA_HOME_11分别写入java8,java9,java11的安装目录,这和配置JAVA_HOME一样.
批处理脚本
创建一个名为快捷方式的目录
CJavaBat.bat
然后在快捷方式下,创建批处理脚本CJavaBat.bat,开头的C是change的意思.
@echo off
@echo ------------------------------------------------
@echo 当前Java版本为:
java -version
@echo ------------------------------------------------
@echo 输入要使用的java版本对应的选项:
@echo 选项 含义
@echo 8 切换环境为JDK8
@echo 9 切换环境为JDK9
@echo 11 切换环境为JDK11
@echo ------------------------------------------------
set /P choose=请输入选择:
IF "%choose%" EQU "8" (
REM 修改JAVA_HOME环境变量为%JAVA_HOME_8%,
setx "JAVA_HOME" "%%JAVA_HOME_8%%" /m
echo 已经修改 "JAVA_HOME" 为 %%JAVA_HOME_8%%
) ELSE IF "%choose%" EQU "9" (
setx "JAVA_HOME" "%%JAVA_HOME_9%%" /m
echo 已经修改 "JAVA_HOME" 为 %%JAVA_HOME_9%%
REM setx "Path" "%cd%;%path%" /m
) ELSE IF "%choose%" EQU "11" (
setx "JAVA_HOME" "%%JAVA_HOME_11%%" /m
echo 已经修改 "JAVA_HOME" 为 %%JAVA_HOME_11%%
)
pause
上面程序中的setx命令就是用来修改环境变量的.语法格式为:setx 环境变量名 环境变量值 /m。setx设置环境变量需要管理员权限,以管理员身份,运行上面的CJavaBat.bat就可以修改JAVA_HOME环境变量的内容,从而切换Java版本
给CJavaBat.bat设置管理员权限
创建CJavaBat.bat的快捷方式,然后将这个快捷方式重命名为CJava,注意一定要修改名字。
然后在快捷方式上面右键。选择属性,在快捷方式选项卡上,点击高级,然后勾选上用管理员身份运行。
这样以后直接点击CJava这个快捷方式就可以以管理身份运行CJavaBat.bat这个批处理脚本了。
这样直接运行CJava根据提示设置即可
评论 (0)