当前位置: 首页 > news >正文

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

文章目录

    • 前言
    • JVMS 的主要功能
    • 安装 JVMS
    • 初始化 JVMS
    • 管理 JDK 版本
      • 远程添加(这块比较吃网络,如果不成功可以看下面手动添加)
      • 安装指定版本的 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 所在目录,执行以下命令:

    jvms init
    

    此操作将创建必要的配置文件和目录结构。
    在这里插入图片描述

管理 JDK 版本

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

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

jvms rls -a

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

安装指定版本的 JDK

例如,安装 JDK 11:

jvms install 11.0.15.1

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

查看本地已安装的 JDK 版本

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

jvms ls

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

切换 JDK 版本

例如,切换到 JDK 11:

jvms switch 11.0.15.1

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

java -version

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

手动添加 JDK

如果您已经从其他渠道下载了 JDK,可以手动添加到 JVMS 的管理中:
之前文章有提到: JDK国内下载源

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

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

在这里插入图片描述

  1. 刷新列表:执行 jvms ls,即可看到新添加的 JDK 版本。
    在这里插入图片描述

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

jvms switch jdk11

在这里插入图片描述

新开一个CMD窗口进行验证
在这里插入图片描述
!!!同理可以切换为任意版本,切换后记得新开CMD窗口进行验证,保证环境刷新。

相关文章:

  • wend看源码-(RAG工程)tiny-GraphRAG
  • MySQL | 库操作
  • 总结单例模式的写法(在线程安全的情况下)
  • 深入解析 MySQL 8 C++ 源码:二级索引回表操作
  • Redis7——基础篇(二)
  • QT异步编程之QMetaObject::invokeMethod
  • Windows桌面系统管理8:项目实施
  • 青少年编程都有哪些比赛可以参加
  • 网络安全大数据架构 网络安全之数据安全
  • RMSNorm算子的CUDA实现
  • MacOS Docker 安装指南
  • GO语言基础知识
  • ES,怎么实现查询一万条数据
  • mysql索引为什么用B+树不用,B树或者红黑树
  • 303. 区域和检索 - 数组不可变
  • Lab12_ Blind SQL injection with conditional errors
  • 测试WSS服务器
  • N-bit ADC过采样和L阶噪声整形后的SQNR表达式
  • 自动化测试面试会问哪些?
  • Python中的数学问题3-math、pow
  • 水豚出逃40天至今未归,江苏扬州一动物园发悬赏公告
  • 冷冰川谈黑白
  • 河北邯郸一酒店婚宴发生火灾:众人惊险逃生,酒店未买保险
  • 兵韬志略|美2026国防预算未达1万亿,但仍寻求“暗度陈仓”
  • 重庆党政代表团在沪考察,陈吉宁龚正与袁家军胡衡华共商两地深化合作工作
  • 上海推动AI+文旅深度融合,MaaS平台和产业基地落地徐汇