前言

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下载的时候记得挂代理,不过我还是推荐本地添加而不是现下

安装包

jvms_v2.1.5_amd64.zip

Windows上的多jdk版本管理工具的更多相关文章

  1. [Shell] Windows上支持Linux Shell的工具/方法

    0 概述 1 方式一 : Windows Terminal 局限性: 不支持 xargs等命令 支持sed,find等命令 安装方式 安装Windows Terminal的最简单方法是通过Micros ...

  2. 开发者神器!Windows上最强大的虚拟桌面工具-Dexpot

    简介 : 用过Linux和Mac计算机的人都知道 , 这两个系统上都有个多桌面的功能非常使用 . 而在Windows上并没有该项功能 , 虽然目前Win10已经增加了多桌面的程序 , 但使用上仍体验不 ...

  3. jdkman(jdk版本管理工具)安装和使用(mac)

    1.安装jdkman 1.1.下载命令 curl -s "https://get.sdkman.io" | bash 执行后,sdkman安装到目录$HOME/.sdkman/,比 ...

  4. Windows上node.js的多版本管理工具

    在Linux上我一直使用nvm来管理nodejs的不同版本,但是nvm没有windows版本,今天发现在windows上可以使用另外一个版本管理工具nvm-windows来管理. 下载与安装下载地址: ...

  5. windows上的Qt 5的依赖部署打包

    通常我们编译Qt程序的时候最终会生成exe或dll,这些可执行文件都会有Qt模块的依赖,如果项目一旦庞大,就不是很好看出缺了什么模块,导致安装包安装到其他绿色干净的windows机器上会提示缺少XXX ...

  6. Node版本管理工具-NVM的安装与使用(windows系统)

    友情提示:为避免踩坑,建议浏览全文后动手操作!!! 一.nvm是什么 看到这篇文章的猿/媛们肯定不会问这个问题了,但是我还是要说,哈哈哈! 无论工作还是干嘛,就不会一直做项目,所以肯定也不会一直用一个 ...

  7. Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows

    前言 由于高版本的node.js导致gulp执行build命令失败,我需要在Windows下卸载掉已有的node.js并安装一个多版本管理工具nvm-windows,方便切换不同版本的node.js. ...

  8. JVM 源码分析(二):搭建 JDK 8 源码调试环境(Windows 上使用 CLion)

    前言 一.准备源码 二.安装 "Bootstrap JDK" 三.配置编译环境 四.编译与测试 五.安装 CMake 和 GDB 五.准备远程调试 六.开始远程调试 前言 上一篇文 ...

  9. Windows上管理远程Linux VPS/服务器文件工具 - winscp

    Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具 ...

  10. 【转载】Windows上那些值得推荐的良心软件-整理 easybcd 引导工具 easyuefi 引导工具

    您查询的关键词是:清理dism知乎 以下是该网页在北京时间 2019年03月17日 21:56:16 的快照: 如果打开速度慢,可以尝试快速版:如果想更新或删除快照,可以投诉快照. 百度和网页 htt ...

随机推荐

  1. 用字符串表达式执行引擎消除掉if else if

    背景 最近我搞了个微信机器人,@机器人 xxx 这样来发送命令 能拿到的信息有,消息内容,消息发送人,消息所在的群id等 需要根据消息内容或者消息发送群id等不同的条件组合来决定走哪个处理逻辑. 简单 ...

  2. Codeforces Round #875 (Div. 2) A-D

    比赛链接 A 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; bool solve() { i ...

  3. Redis的设计与实现-总结

    个人真的很喜欢这本书, 从对C语言一窍不通, 到发现C语言竟然如此简洁, 以至于我喜欢上了C! 对此前面的底层数据结构也读了几次, 大致整理了书里的内容, 后面的就粗略看了一下, 不再细细整理了. R ...

  4. 通过Maxwell同步mariadb数据至kafka

    实验环境 本地虚拟机 maraidb 10.8.8 kafka 2.12-3.3.1 maxwell由容器部署 1 mariadb 1.1 配置log_bin 配置文件中加入如下内容 server-i ...

  5. Codeforces Round #888 (Div. 3) A-G

    比赛链接 A 代码 #include <bits/stdc++.h> using namespace std; using ll = long long; bool solve() { i ...

  6. 2022-1-10 控件学习2 Button、CheckBox、RadioButton、PasswordBox、Image、ToolTip

    Button         设置带图片的按钮: 设置button按钮通用类型:  CheckBox          IsChecked设置是否选中 RadioButton 使用GroupName这 ...

  7. Oracle11gR2单实例的安装与部署

    1   安装目标与规划 交易系统1台HP DL580 G9服务器将安装Oracle11gR2 . 1.1  安装介质版本 主机名 his1 IP地址 192.168.40.102(非生产环境ip) O ...

  8. (转)IBM Appscan9.0.3安全扫描简单安装、使用以及高危漏洞修复

    最近手上负责一个的项目要进行等保评测.请的第三方公司采用IBM Security AppScan Standard对项目进行安全测试.测试报告高危漏洞主要包含sql注入.sql盲注.跨站点脚本编制如下 ...

  9. Go 并发编程 - 并发安全(二)

    什么是并发安全 并发情况下,多个线程或协程会同时操作同一个资源,例如变量.数据结构.文件等.如果不保证并发安全,就可能导致数据竞争.脏读.脏写.死锁.活锁.饥饿等一系列并发问题,产生重大的安全隐患,比 ...

  10. Leetcode刷题笔记——单调性

    单调性 单调性是数学中使用的一种常见性质,通常用于描述函数,在高等数学中的定义常常为: 设函数f(x)在区间I上有定义,如果对于I上的任意两个数x1和x2,当x1<x2时,有f(x1)<f ...