java 版本管理器_开发语言


专栏推荐

  • 专门为Redis入门打造的专栏,包含Redis基础知识、基础命令、五大数据类型实战场景、key删除策略、内存淘汰机制、持久化机制、哨兵模式、主从复制、分布式锁等等内容。链接>>>>>>>>>《Redis从头学》
  • SpringBoot实战相关专栏,包含SpringBoot过滤器、拦截器、AOP实现日志、整合Freemaker、整合Redis等等实战相关内容,多篇文章登入全站热榜、领域热榜、被技术社区收录。链接>>>>>>《SpringBoot实战》

文章目录

  • 专栏推荐
  • 🌟前言
  • 🌟效果预览
  • 🌟具体实现
  • 🌟使用步骤
  • 🌟写在最后

🌟前言

在学习或者工作中,可能会使用到多个版本的JDK,每次修改环境变量都很麻烦。因此,在这里我现学现卖,使用Python结合bat脚本,通过命令实现了一个多版本JDK切换的小工具。

多版本JDK管理工具也有开源的JENV、SDKMAN等。但还是感觉自己写的顺手一点并且功能也没有冗余,还可以学习Python知识。


🌟效果预览

java 版本管理器_配置文件_02


🌟具体实现

思路分析

  1. 通过Python中的subprocess,调用bat命令中的setx命令来修改系统的环境变量。
  2. 通过引入配置文件的方式,实现JDK版本路径的统一管理。
  3. 通过命令来具体切换相应的JDK版本。

核心代码

import subprocess
def switch_jdk():
    print("Command List")
    print("switch [version] --切换jdk")
    print("jdk list --jdk列表")
    print("exit")
    while True:
        subprocess.call("cls", shell=True)
        command = input("请输入指令:")
        version = command.split()[1]
        #解析用户输入的指令,获得将要切换的版本号
        if command==f"switch {version}":
            jdk_path = getJdkPath(version)
            subprocess.run(['setx', 'JAVA_HOME', jdk_path, '/M'], shell=True, check=True)
            print(f"切换JDK_{version}成功!")
            input("按任意键继续...")
        elif command == "jdk list":
            obtainJdkList()
        elif command == "exit":
            break
        else:
            print("无效的选项,请重新选择!")
            input("按任意键继续...")
            continue

#读取配置文件
def readFileContent():
    # 读取jdk配置路径
    try:
        # 读取jdk配置路径
        with open("jdk.conf", 'r', encoding="UTF-8") as file:
            content = file.read()
            return content
    except FileNotFoundError:
        print("文件不存在")
    except IOError:
        print("文件读取错误")
#获取jdk列表
def obtainJdkList():
    content=readFileContent()
    lines = content.split("\n")
    for line in lines:
        if "=" in line:
            key = line.split("=")[0]
            print(key)
def getJdkPath(version):
    try:
        content=readFileContent()
        # 分割文件内容为每一行,并遍历查找指定版本的路径
        lines = content.split("\n")
        for line in lines:
            if "=" in line:
                key, value = line.split("=")
                if key == f"JDK_{version}":
                    return value
    except FileNotFoundError:
        print("文件不存在")
        return None
    except IOError:
        print("文件读取错误")
        return None

switch_jdk()

JDK配置文件:用于存放当前电脑中已经安装的JDK路径。格式JDK_版本号=路径

java 版本管理器_python_03


🌟使用步骤

1.下载本文压缩包。
2.解压完成后,进入到Daen-JDKMAN文件夹,找到jdk.conf文件。将本地电脑中的JDK安装目录配置到配置jdk.conf文件中。

JDK_{version}=你的安装路径

3.操作命令现在有两个,如下:

  • jdk list-查看当前jdk列表
  • switch {version}-切换至目标jdk。注意version为配置文件中的JDK_{version}。比如说配置文件中配置的是JDK_1.8.131=你的路径,则执行命令switch 1.8.131切换至目标JDK。

4.另外需要注意:如果提示错误,需要以管理员身份运行Pycharm或者Daen-JDKMAN.exe


🌟写在最后

有关于Python实现JDK多版本切换管理工具到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。