【实用工具】在 Windows 上使用 JVMS 管理多版本 JDK

文章目录

    • 前言
    • [JVMS 的主要功能](#JVMS 的主要功能)
    • [安装 JVMS](#安装 JVMS)
    • [初始化 JVMS](#初始化 JVMS)
    • [管理 JDK 版本](#管理 JDK 版本)
    • [手动添加 JDK](#手动添加 JDK)

前言

在 Java 开发过程中,针对不同的开发和测试需求,常常需要在多个 JDK 版本之间进行切换。手动管理这些版本可能繁琐且容易出错。为了解决这一问题,JDK Version Manager for Windows(JVMS) 应运而生。它是一个专为 Windows 用户设计的 JDK 版本管理工具,能够轻松地安装、切换和管理多个 JDK 版本。

JVMS 的主要功能

  • 多版本管理:支持同时安装和维护多个 JDK 版本,满足不同项目的需求。
  • 快速切换:通过简单的命令即可在不同的 JDK 版本之间切换。
  • 在线安装:直接从远程仓库下载并安装指定版本的 JDK。
  • 本地集成:自动配置环境变量,确保系统正确识别当前使用的 JDK 版本。

安装 JVMS

  1. 下载 JVMS :前往 GitHub Releases 页面,下载适用于您系统的最新版本。
  2. 解压文件 :将下载的压缩包解压到您选择的目录,例如 D:\常用软件\jvms。

初始化 JVMS

在首次使用前,需要对 JVMS 进行初始化:

  1. 以管理员身份运行命令提示符:右键点击"命令提示符",选择"以管理员身份运行"。

  2. 执行初始化命令 :在命令提示符中,导航到 jvms.exe 所在目录,执行以下命令:

    bash 复制代码
    jvms init

    此操作将创建必要的配置文件和目录结构。

管理 JDK 版本

远程添加(这块比较吃网络,如果不成功可以看下面手动添加)

要查看可供安装的远程 JDK 版本列表,执行:

bash 复制代码
jvms rls -a

此命令将显示所有可用的 JDK 版本,供您选择安装。

安装指定版本的 JDK

例如,安装 JDK 11:

bash 复制代码
jvms install 11.0.15.1

安装过程可能需要一些时间,具体取决于您的网络状况。

查看本地已安装的 JDK 版本

要查看当前本地安装的所有 JDK 版本,执行:

bash 复制代码
jvms ls

此命令将列出所有已安装的 JDK 版本及其路径。

切换 JDK 版本

例如,切换到 JDK 11:

bash 复制代码
jvms switch 11.0.15.1

切换成功后,您可以通过以下命令验证当前使用的 JDK 版本:

bash 复制代码
java -version

请注意,切换 JDK 版本需要管理员权限,因此请确保以管理员身份运行命令提示符。

手动添加 JDK

如果您已经从其他渠道下载了 JDK,可以手动添加到 JVMS 的管理中:

之前文章有提到: JDK国内下载源

  1. 创建存储目录 :在 jvms.exe 所在目录下,新建一个名为 store 的文件夹。
  2. 添加 JDK :将下载的 JDK 解压后,放入 store 文件夹中。我之前已经安装过,默认安装在C盘的,也可以利用搜索工具看你安装在哪里。

然后复制过来,可以重命名文件夹。

  1. 刷新列表 :执行 jvms ls,即可看到新添加的 JDK 版本。

如果所示当前版本为JDK7,如果要切换到JDK11,使用下列命令即可:

bash 复制代码
jvms switch jdk11

新开一个CMD窗口进行验证

!!!同理可以切换为任意版本,切换后记得新开CMD窗口进行验证,保证环境刷新。

相关推荐
不是万能的豆学长3 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
时间静止不是简史3 小时前
生产事故排查:Redis 宕机导致补偿队列消费线程死亡,通话录音未上送业务平台
java·redis
2301_32241428046 小时前
基于SpringBoot+Vue的休闲零食超市管理系统的设计与实现59004-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·redis·mysql·决策树·推荐算法
懂点Tech7 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
金銀銅鐵8 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(上)
java·后端·ai编程
catchadmin8 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
福建佰胜张工8 小时前
SMC 薄型气爪 MHF2-16D1 深度解析:平行开闭、低剖面结构在自动化装配中的选型与落地
java·服务器·安全·自动化
念何架构之路8 小时前
go-grpc设计思想
开发语言·后端·golang
catoop9 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现
java·数据库·安全
system_error_x9 小时前
SpringBoot 集成 Thymeleaf 简洁入门
java·spring boot·后端