JAVA 版本多版本切换 - 傻瓜式操作工具

JAVA 版本多版本切换 - 傻瓜式操作

引言

在 Java 开发中,你是否遇到过这样的场景?

  • 开发 Spring Boot 项目需要 JDK 17,而维护老系统却依赖 JDK 8;
  • 学习新特性时想体验 JDK 21 的虚拟线程,却担心影响现有环境;
  • 频繁重装 JDK 导致环境混乱,甚至出现 "Path 污染" 的致命错误......

痛点本质 :Java 生态的版本碎片化与项目兼容性要求,让开发者不得不面对多 JDK 版本管理的挑战。传统手动切换方式(修改环境变量、配置 IDE)不仅繁琐,还容易引发配置错误。而今天要分享的,正是我为解决这个问题开发的自动化工具 ------ 让 JDK 版本切换像 "切换浏览器标签" 一样简单。

安装过程

1. 下载

失效可以看文章标题下面资源进行下载(源码已经上传至 github)

Github 地址:github.com/Anfioo/Wing... 百度网盘 链接: pan.baidu.com/s/11W2w5m1x... 蓝奏云 链接: wwrh.lanzoul.com/i1WPN30e224...

2. 解压即安装

安装包为

解压后为这个

  1. 先运行 start_we_shell.bat 如下 其实就是 ws shell 命令,运行出 shell 页面
  1. 命令行窗口可以直接输入 install 或者 i 进行初始化 如下

其实就是自动添加系统变量如下图多了一个路径,方便全局使用 we 命令切换 这个时候你新打开一个命令行页面输入 we 即可使用命令,接下来就使用上面的 shell 页面进行安装多版本 JAVA 环境

.png>)

  1. 输入 install 有对应的提示 使用 Tab 可以快速输入

进入安装(当前只开发了半天时间),所以先将 java 版本安装开发出来

鼠标选择后点击 ok

还有单个安装的,这里演示多版本的

安装路径,当然是绿色安装,也就是解压并设置系统变量,删除就会失效,而无需卸载程序

选择你要安装的多个版本进入下一步

可以逐个确认版本号如下,也可以全部默认,也就是第一个

依次选择后会自动下载解压到上面选择的目录

最后选择现在要激活的环境

选择后确认是否更新系统变量,切换版本用

提示更新成功即可

这时会回到控制台,可以看见设置 JAVA_HOME 和 PATH 的变量

3. 查看安装的 JAVA 版本

Java 版本切换查看已经安装的版本

bash 复制代码
we e java ls
bash 复制代码
we env java ls

4. 切换 JAVA 版本

we env java set <版本号>

示例

arduino 复制代码
we e java set 22
bash 复制代码
we env java set 22

5. 实现逻辑

实际上就是去 openjdk 官网

上获取最新链接解析后下载解压

就是下载并解压了

并自动配置用户变量

祝愿

后续若工具有人使用会继续开发,保证实现绿色开发,目的是为了在多系统迁移环境的时候可以直接复制(本人经常重装环境,但是配置环境感觉好麻烦,不如自己开发一个环境管理工具)

让环境都是绿色安装,也就是解压即安装,而无需考虑如何配置的问题

希望可以有人参与进来,开发方式是 python,逻辑非常简单,但是却可以省事很多

项目地址

相关推荐
小鱼人爱编程29 分钟前
Java基石--反射让你直捣黄龙
前端·spring boot·后端
hqxstudying34 分钟前
J2EE模式---服务层模式
java·数据库·后端·spring·oracle·java-ee
GM_82839 分钟前
【最新最完整】SpringAI-1.0.0开发MCP Server,搭建MCP Client 实战笔记(进阶+详细+完整代码)
java·后端·ai编程·springai·mcp
程序员爱钓鱼1 小时前
Go语言实战案例-滑动窗口最大值
后端·google·go
Victor3562 小时前
MySQL(163) 如何理解MySQL的隔离级别?
后端
Victor3562 小时前
MySQL(164)如何设置MySQL的隔离级别?
后端
代码老y3 小时前
ASP.NET Core 高并发万字攻防战:架构设计、性能优化与生产实践
后端·性能优化·asp.net
武子康8 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
舒一笑8 小时前
我的开源项目-PandaCoder迎来史诗级大更新啦
后端·程序员·intellij idea
@昵称不存在10 小时前
Flask input 和datalist结合
后端·python·flask