工作时维护了多个项目,技术栈差别很大,需要的jdk版本也不同,所以需要比较频繁地切换jdk的环境变量。
首先,我给每个版本的jdk维护了各自的路径,在切换JAVA_HOME的时候,只要指向这些路径即可
说实话,切换环境变量并不复杂,但是为了练习,还是写了简单的cmd脚本
脚本代码如下
@echo off
set /p jdk_version=enter the JDK version you want to switch:
::百分号本身就是转义,双百分号就是百分号
set "str=%%JAVA_HOME_%jdk_version%%%"
::setx /M 是设置系统全局变量
echo wait...
setx JAVA_HOME %str% /M
echo 被覆盖的JAVA_HOME = %JAVA_HOME%
echo 请打开新的cmd,使用java -version确认是否切换成功
pause
脚本需要使用管理员运行,不然没有权限设置系统环境变量。
执行脚本后,输入要切换的版本,比如,我要切换到JAVA_HOME_8
的变量,就输入8就可以了。
-
set /p
可以将键盘输入的值,赋值给变量 -
setx /M
是设置系统全局变量
如果执行脚本后,java -version
仍然是原来的值,看一下系统变量Path
,把%JAVA_HOME%\bin\;%JAVA_HOME%\jre\bin\;
给移到最前面