JVMS (JDK Version Manager) 使用教程
JVMS 是一个专为 Windows 设计的 JDK 版本管理工具,使用 Go 语言编写,无外部依赖。它允许你在 Windows 上轻松安装、切换和管理多个 JDK 版本,通过符号链接(symlink)实现版本切换,支持远程下载和本地添加。适用于需要测试不同 JDK 版本的开发者。以下教程按照安装、基本操作、进阶使用和常见问题组织。注意:大部分操作需以管理员身份运行。
1. 安装 JVMS
前提条件
- 支持的操作系统:Windows(专为 Windows 设计)。
- 需要管理员权限。
- 无需预安装 JDK。
安装步骤
-
下载工具:
- 访问 GitHub 仓库(https://github.com/ystyle/jvms),下载最新 release 的 zip 文件。
-
解压并放置可执行文件:
- 解压 zip 文件,提取
jvms.exe。 - 将
jvms.exe复制到任意目录(如C:\jvms)。
- 解压 zip 文件,提取
-
以管理员身份运行:
-
打开命令提示符(cmd)或 PowerShell,以管理员身份运行。
-
导航到
jvms.exe所在目录:cd C:\jvms
-
-
初始化工具:
jvms.exe init- 这会创建配置文件、设置符号链接,并添加到系统 PATH。
- 可选参数:
--originalpath <url>设置自定义下载索引 URL;--java_home <path>设置自定义 JAVA_HOME 路径。
-
验证安装:
jvms.exe --version- 显示版本号(如 2.0.0)即成功。
2. 基本操作
查看可用版本
-
显示远程可用 JDK 版本列表:
jvms.exe rls
安装 JDK 版本
-
安装特定版本:
jvms.exe install 1.8.0_31 # 或 jvms.exe i 1.8.0_31- 从远程下载并安装。
切换 JDK 版本
-
切换到特定版本:
jvms.exe switch 1.8.0_31 # 或 jvms.exe s 1.8.0_31-
更新符号链接,立即生效于所有打开的控制台,并持久化重启后。
-
验证:
java -version
-
查看版本信息
-
已安装版本列表:
jvms.exe list # 或 jvms.exe ls
卸载版本
-
移除特定版本:
jvms.exe remove 1.8.0_31 # 或 jvms.exe rm 1.8.0_31
帮助信息
-
显示帮助:
jvms.exe help # 或 jvms.exe h -
特定命令帮助:
jvms.exe help install
3. 进阶使用
添加本地 JDK
- 将本地 JDK 文件夹复制到 JVMS 的存储目录(通常为
jvms/store)。 - 重命名文件夹为版本号(如
17.0.1)。 - 运行
jvms.exe list查看是否出现。 - 切换:
jvms.exe switch 17.0.1。
设置代理(加速下载)
-
设置下载代理:
jvms.exe proxy http://your-proxy-url
自定义下载服务器
-
创建
index.json文件,格式示例:json[ { "version": "1.9.0", "url": "http://your-server/files/jdk/1.9.0.zip" } ] -
在静态服务器(如 Nginx)上托管
index.json和 zip 文件。 -
初始化时指定:
jvms.exe init --originalpath http://your-server/index.json -
使用:
jvms.exe rls查看自定义列表,jvms.exe install 1.9.0安装。
创建自定义 JDK Zip
- 进入 JDK 主目录,压缩所有文件为 zip(如
jdk-1.9.0.zip)。 - 上传到服务器,并在
index.json中添加条目。
与其他工具集成
- JVMS 通过系统 PATH 和 JAVA_HOME 工作,可与 IDE(如 IntelliJ、Eclipse)无缝集成,切换后重启 IDE 生效。
- 无需额外配置,支持所有标准 Java 工具(如 Maven、Gradle)。
4. 常见问题与排查
- 需要管理员权限:初始化和切换必须以管理员运行,否则符号链接失败。
- 版本未显示:确保文件夹名匹配版本号,重启控制台。
- 下载慢:设置代理或使用自定义服务器。
- 冲突:如果有现有 JAVA_HOME,手动卸载旧 JDK。
- 更新 JVMS :从 GitHub 下载新 release,替换
jvms.exe。 - 调试:检查配置文件(通常在
jvms/config.json),或运行jvms.exe help。