Windows上的多jdk版本管理工具
前言
Java在Windows上因为版本太多导致难以管理,这个项目可以很好的解决这点
项目地址
GitHub - ystyle/jvms: JDK Version Manager (JVMS) for Windows
项目具体介绍
适用于 Windows 的 JDK 版本管理器 (JVMS),在Windows上轻松的管理多Java版本。
使用教程
安装
https://github.com/ystyle/jvms/releases
初始化
- 从上面的链接下载完成
- 解压zip并将jvms.exe复制到你想要的路径
- 以管理员身份运行 cmd 或 powershell
- cd 到jvms.exe其中的文件夹
- 执行初始化指令
jvms.exe init
效果如下:

注意
jvms管理工具必须进行初始化,否则会发生错误:
Switch jdk failed, symlink D:\jvms_v2.1.5_amd64\store\11.0.15.1 : The system cannot find the path specified.
Switch jdk failed, symlink D:\jvms_v2.1.5_amd64\store\11.0.15.1 : The system cannot find the path specified.
常用指令
NAME:
jvms - JDK Version Manager (JVMS) for Windows
USAGE:
jvms.exe [global options] command [command options] [arguments...]
VERSION:
v2.1.5
COMMANDS:
init jvms进行初始化
list, ls 列出本地已经安装的JDK版本
install, i 安装jdk到本地
switch, s 切换需要使用的JDK版本
remove, rm 删除不需要的jdk版本
rls 列出可以下载的JDK版本
proxy 使用代理进行下载
help, h 提供帮助,显示可用的命令
使用本地的jdk进行版本切换
大部分人需要jdk版本管理工具的原因都是本地已经安装了多个JDK,所以这里直接用本地的jdk进行版本切换即可。具体步骤如下:
新建store目录

我们下载的jvms管理工具的压缩包中是只有一个可执行文件,初始化之后也是一样的,而想通过jvms管理jdk则必须在store下才可以,所以我们要在jvms的目录新建一个store目录

复制本地jdk
找到我们本地的jdk,一般情况下都是在这个目录,如果安装不是默认路径的话,自己去安装的路径找就行了
C:\Program Files\Java
可以看到我的jdk版本有三个

将其复制到jvms管理工具的store目录下

我这里为了方便已经将jdk的名字给重命名了
jvms进行版本切换
ls查看可用jdk版本
先使用ls指令看看我们本地的jdk

可以看到我们刚刚复制过来的jdk是可用的,接下来切换版本即可,注意这里有一个问题,你的cmd或powershell必须是以管理员模式运行的,否则jvms是没有权限写入Path的,会出现下面这种错误:
set Environment variable JAVA_HOME failure: Please run as admin user

switch进行版本切换
先看一下当前系统的jdk版本,方便验证

当前系统jdk版本为1.8,那么我将其切换为jdk11

可以看到切换成功,现在验证版本,我们需要另外再开一个cmd窗口,原因是当前窗口的是不会刷环境变量的

切换成功
使用jvms下载jdk并管理
有的师傅呢就想把之前的卸了之后全用jvms重新下载加以管理,也有点师傅刚刚入行安全,还没得及用上jdk,想直接使用jvms。所以这里也提供使用jvms下载jdk的办法
列出jvms默认情况下可以下载的jdk版本
jvms init --originalpath https://raw.githubusercontent.com/ystyle/jvms/new/jdkdlindex.json
运行效果如下:

运行JAVA_HOME
jvms.exe init --java_home
使用rls指令列出可以安装的jdk版本
jvms.exe rls

想安装什么版本的jdk直接安装即可,如安装jdk20.0.0
jvms install 20.0.0
然后等待下载即可,因为我这里的这个json是GitHub上的,所以使用jvms下载的时候记得挂代理,不过我还是推荐本地添加而不是现下
安装包
Windows上的多jdk版本管理工具的更多相关文章
- [Shell] Windows上支持Linux Shell的工具/方法
0 概述 1 方式一 : Windows Terminal 局限性: 不支持 xargs等命令 支持sed,find等命令 安装方式 安装Windows Terminal的最简单方法是通过Micros ...
- 开发者神器!Windows上最强大的虚拟桌面工具-Dexpot
简介 : 用过Linux和Mac计算机的人都知道 , 这两个系统上都有个多桌面的功能非常使用 . 而在Windows上并没有该项功能 , 虽然目前Win10已经增加了多桌面的程序 , 但使用上仍体验不 ...
- jdkman(jdk版本管理工具)安装和使用(mac)
1.安装jdkman 1.1.下载命令 curl -s "https://get.sdkman.io" | bash 执行后,sdkman安装到目录$HOME/.sdkman/,比 ...
- Windows上node.js的多版本管理工具
在Linux上我一直使用nvm来管理nodejs的不同版本,但是nvm没有windows版本,今天发现在windows上可以使用另外一个版本管理工具nvm-windows来管理. 下载与安装下载地址: ...
- windows上的Qt 5的依赖部署打包
通常我们编译Qt程序的时候最终会生成exe或dll,这些可执行文件都会有Qt模块的依赖,如果项目一旦庞大,就不是很好看出缺了什么模块,导致安装包安装到其他绿色干净的windows机器上会提示缺少XXX ...
- Node版本管理工具-NVM的安装与使用(windows系统)
友情提示:为避免踩坑,建议浏览全文后动手操作!!! 一.nvm是什么 看到这篇文章的猿/媛们肯定不会问这个问题了,但是我还是要说,哈哈哈! 无论工作还是干嘛,就不会一直做项目,所以肯定也不会一直用一个 ...
- Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows
前言 由于高版本的node.js导致gulp执行build命令失败,我需要在Windows下卸载掉已有的node.js并安装一个多版本管理工具nvm-windows,方便切换不同版本的node.js. ...
- JVM 源码分析(二):搭建 JDK 8 源码调试环境(Windows 上使用 CLion)
前言 一.准备源码 二.安装 "Bootstrap JDK" 三.配置编译环境 四.编译与测试 五.安装 CMake 和 GDB 五.准备远程调试 六.开始远程调试 前言 上一篇文 ...
- Windows上管理远程Linux VPS/服务器文件工具 - winscp
Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具 ...
- 【转载】Windows上那些值得推荐的良心软件-整理 easybcd 引导工具 easyuefi 引导工具
您查询的关键词是:清理dism知乎 以下是该网页在北京时间 2019年03月17日 21:56:16 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. 百度和网页 htt ...
随机推荐
- 全网最详细4W字Flink入门笔记(下)
本文已收录至Github,推荐阅读 Java随想录 微信公众号:Java随想录 目录 Flink State状态 CheckPoint & SavePoint CheckPoint原理 Sav ...
- C语言指针--指针中的const
文章目录 前言 一.const 1.什么是const 2.const的使用 二.const修饰一级指针 1.const放在 `*` 左边 2.const在`*`右边 三.const修饰二级指针 1.c ...
- Django: 后台常用操作
指定状态码 return JsonResponse(data, status=201) Djano删除数据库 删除对应数据库后,删除对应文件 删除对应的记录 Django后台管理 创建超级管理员 py ...
- protolator - Protobuf <==> json
github.com/hyperledger/fabric-config/protolator 是 Hyperledger Fabric 中的一个 Go 包,用于将 Protocol Buffers( ...
- 【技术积累】Linux中的命令行【理论篇】【十】
bunzip2 命令说明 bunzip2命令是Linux系统中的一个用于解压缩文件的命令.它可以解压缩使用bzip2算法压缩的文件,将其恢复为原始的未压缩文件. 命令介绍 bunzip2命令的语法如下 ...
- SpringBoot 测试实践 - 2:单元测试与集成测试
单元测试 vs. 集成测试 只编写单测,无法测试方法之间的集成情况,而且某些需求可能会修改多个方法,这可能会影响方法对应的单测,涉及到大量的相关单测的修改,这样的维护成本很高 可以把重心放在完善集成测 ...
- Win11和Win10怎么禁用驱动程序强制签名? 关闭Windows系统驱动强制签名的技巧?
前言 什么是驱动程序签名? 驱动程序签名又叫做驱动程序的数字签名,它是由微软的Windows硬件设备质量实验室完成的.硬件开发商将自己的硬件设备和相应的驱动程序交给该实验室,由实验室对其进行测试,测试 ...
- java与es8实战之四:SpringBoot应用中操作es8(无安全检查)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<java与es8实战>系 ...
- MySQL——后码锁(Next-Key Block)
众所周知,Mysql的事务隔离级别分为4个,分别是READ-UNCOMMITED,READ-COMMITED,REPEATABLE-READ,SERIALIZABLE,在常规数据库概论中,前三种事务隔 ...
- 如何通过API接口获取京东的商品评论
如果您想要获取京东的商品评论,可以通过API接口来实现.这篇文章会介绍如何使用京东API接口获取商品的评论数据. 首先,您需要到京东开放平台注册成为开发者,然后创建一个应用程序.通过这个应用程序,您可 ...