栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

多版本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版本切换失效问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424009.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号