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下载的时候记得挂代理,不过我还是推荐本地添加而不是现下
安装包
本文来自博客园,作者:夜未至,转载请注明原文链接:https://www.cnblogs.com/wushiyiwuzhong/p/17804016.html