多版本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/17\n");
        return;
        }
    } else if (argc >= 2) {
        printf("[-] Too many arguments.\n[*] see: sw ?");
    } else {
        printf("[*] Please input Java_Version...\n[*] eg:sw 8/17\n");
    }
 }


编译:

gcc sw.c -o sw.exe

注意:使用命令提示符界面编译,需要安装MinGW。见文章《gcc不是内部或外部命令,也不是可运行的程序或批处理文件》
编译生成sw.exe文件,将其复制到C:\Windows\System32\下即可。

注意,这里的2个脚本需要放在无空格路径,我直接放在C盘
其次是脚本中的路径也要进行相应 的更改。

在这里插入图片描述

2.3 使用

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

三、参考

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值