系统安装了多个版本的jdk,切换起来很是不方便,需要改环境变量。
二、方法来源GitHub:Pear1y
2.1 思路使用 sw.exe 调用 bat 脚本实现 jdk 版本切换。直接修改系统环境变量,使修改永久生效
2.2 步骤- 配置多java系统环境
说明:这里JAVA_HOME的值为%JAVA8_HOME%,即默认为JAVA8的jdk
- path
- 脚本
sw.bat:
@echo off set switch=%1% rem echo %switch% if %switch% == 8 ( echo [*]Switch to Java8. setx JAVA_HOME "%%JAVA8_HOME%%" /m ) else ( if %switch% == 17 ( echo [*]Switch to Java17. setx JAVA_HOME "%%JAVA17_HOME%%" /m )) rem pause
sw.c
#include "stdio.h" #include "stdlib.h" void main(int argc, char *argv[]) { int ver = atoi(argv[1]); if (argc == 2) { char cmd[64]; switch(ver) { case 8: case 17: sprintf(cmd, "C:/Java/JavaSwitch/sw.bat %d", ver); system(cmd); default: printf("[*] only Support 8/17n"); return; } } else if (argc >= 2) { printf("[-] Too many arguments.n[*] see: sw ?"); } else { printf("[*] Please input Java_Version...n[*] eg:sw 8/17n"); } }
编译:
gcc sw.c -o sw.exe
注意:使用命令提示符界面编译,需要安装MinGW。见文章《gcc不是内部或外部命令,也不是可运行的程序或批处理文件》
编译生成sw.exe文件,将其复制到C:WindowsSystem32下即可。
2.3 使用注意,这里的2个脚本需要放在无空格路径,我直接放在C盘
其次是脚本中的路径也要进行相应 的更改。
先查看现在的版本
切换(使用管理员权限)
切换后,关闭dos窗口生效,然后使用普通权限的命令提示符查看切换成功与否
至此,确认切换成功。
1. 解决多个JDK版本切换失效问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)