【实用工具】在 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窗口进行验证,保证环境刷新。

相关推荐
赔罪7 分钟前
Python 高级特性-切片
开发语言·python
专注VB编程开发20年8 分钟前
除了 EasyXLS,加载和显示.xlsx 格式的excel表格,并支持单元格背景色、边框线颜色和粗细等格式化特性
c++·windows·excel·mfc·xlsx
星星点点洲17 分钟前
【操作幂等和数据一致性】保障业务在MySQL和COS对象存储的一致
java·mysql
xiaolingting34 分钟前
JVM层面的JAVA类和实例(Klass-OOP)
java·jvm·oop·klass·instanceklass·class对象
风口上的猪20151 小时前
thingboard告警信息格式美化
java·服务器·前端
Natsuagin1 小时前
轻松美化双系统启动界面与同步时间设置(Windows + Ubuntu)
linux·windows·ubuntu·grub
子豪-中国机器人1 小时前
2月17日c语言框架
c语言·开发语言
夏天的阳光吖1 小时前
C++蓝桥杯基础篇(四)
开发语言·c++·蓝桥杯
追光少年33221 小时前
迭代器模式
java·迭代器模式
oioihoii2 小时前
C++17 中的 std::to_chars 和 std::from_chars:高效且安全的字符串转换工具
开发语言·c++