JDK 版本一键切换工具(windows)
😄生命不息,写作不止
🔥 继续踏上学习之路,学之分享笔记
👊 总有一天我也能像各位大佬一样
🏆 博客首页 @怒放吧德德 To记录领地 @一个有梦有戏的人
🌝分享学习心得,欢迎指正,大家一起学习成长!
转发请携带作者信息 @怒放吧德德(掘金) @一个有梦有戏的人(CSDN)

前言
当我们有许多版本的 jdk 的时候,切换起来很麻烦,虽然我们使用的 idea 中是能够自动切换的,但是当我们使用 ai-coding 写代码的时候,ai 只会根据环境变量来拿到对应版本的 jdk,像我们使用 cursor、kiro 等这些软件,当我们项目定义了 jdk17,但是我们的环境变量配置了 jdk8,那么在 ai 执行的时候会判断版本不匹配,一定程度影响 ai 的 coding。于是我就让 ai 帮我做了一个脚本,能够自动扫到已经解压的 jdk 版本,并且自动设置。
介绍
作为 Java 开发者,在 Windows 系统上同时维护多个项目时,JDK 多版本切换几乎是日常刚需。但手动修改与系统环境变量,不仅步骤繁琐、极易误删配置,还经常遇到切换后不生效、终端识别不到新版本的问题。
为了彻底解决这个痛点,我用 AI 开发了switch-jdk-version 这款轻量开源工具,实现 Windows 环境 JDK 版本一键切换、自动配置、即时生效,全程无需手动编辑环境变量。
项目简介
switch-jdk-version是专为 Windows 打造的 JDK 版本快速切换工具,基于批处理 + PowerShell 脚本实现,无需安装依赖、下载即用。它能自动扫描本地已安装 JDK、精准更新系统级环境变量,切换后立即校验生效,让 JDK 版本切换从 "繁琐操作" 变成 "一键完成"。
项目开源地址:gitee.com/liyongde/sw...
开源协议:Apache-2.0
核心功能
- 自动扫描 JDK自动检索、等常见安装目录,快速列出本地所有可用 JDK 版本。
- 手动路径支持支持直接粘贴任意 JDK 根目录路径,兼容非默认路径安装的 JDK,适配更多场景。
- 精准更新 PATH 仅替换系统级(Machine)的旧 JDK/JRE 路径,完整保留用户级(User)PATH 配置,绝不误删其他环境变量。
- 一键配置 JAVA_HOME自动完成系统级环境变量的更新,无需手动新增 / 修改。
- 切换即时生效当前终端会话立即生效,新开终端也能正常读取新环境配置,无需重启电脑。
- 安全双重校验切换前验证 JDK 路径有效性、可用性;切换后自动执行确认结果。
项目文件说明
工具仅包含两个核心文件,分工清晰、轻量无冗余:
表格
| 文件 | 核心作用 |
|---|---|
| switch-jdk.bat | 启动入口,自动申请管理员权限,调用主 PowerShell 脚本 |
| switch-jdk.ps1 | 核心执行脚本,负责 JDK 扫描、版本选择、环境变量更新、结果校验 |
极简使用教程
- 下载文件从 Gitee 仓库下载和,保持两个文件在同一目录。
- 管理员启动 右键点击,选择以管理员身份运行(修改系统环境变量必需权限)。
- 选择版本脚本会列出扫描到的所有 JDK,输入对应序号选择;也可直接粘贴 JDK 根目录完整路径。
- 完成切换工具自动更新与,输出版本校验信息,提示切换成功。
执行示例:

关键设计亮点
- 只改系统级 PATH:严格区分系统 / 用户环境变量,不干扰个人自定义配置。
- 精准匹配 Java 路径:通过正则匹配、特征,避免误删含 "java" 字样的无关路径。
- 新路径前置优先:将目标 JDK 的路径插入 PATH 最前方,确保系统优先调用。
- 权限自动处理:脚本主动申请管理员权限,符合 Windows 安全机制,无权限报错。
转发请携带作者信息 @怒放吧德德 @一个有梦有戏的人
持续创作很不容易,作者将以尽可能的详细把所学知识分享各位开发者,一起进步一起学习。转载请携带链接,转载到微信公众号请勿选择原创,谢谢!
👍创作不易,如有错误请指正,感谢观看!记得点赞哦!👍
谢谢支持!