多版本java切换 :Java-Version-Switch

多版本java切换 :Java-Version-Switch,第1张

版本java切换 :Java-Version-Switch 一、前言

系统安装了多个版本的jdk,切换起来很是不方便,需要改环境变量。

二、方法

来源GitHub:Pear1y

2.1 思路

使用 sw.exe 调用 bat 脚本实现 jdk 版本切换。直接修改系统环境变量,使修改永久生效

2.2 步骤
  1. 配置多java系统环境
    说明:这里JAVA_HOME的值为%JAVA8_HOME%,即默认为JAVA8的jdk
  2. path
  3. 脚本
    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个脚本需要放在无空格路径,我直接放在C盘
其次是脚本中的路径也要进行相应 的更改。

2.3 使用

先查看现在的版本
切换(使用管理员权限)
切换后,关闭dos窗口生效,然后使用普通权限的命令提示符查看切换成功与否
至此,确认切换成功。

三、参考

1. 解决多个JDK版本切换失效问题

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5075503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存