mise 是一款跨平台的多语言版本管理工具,能一键安装、切换、管理 Java/Node/Maven 等开发环境,替代 SDKMAN!/nvm 等工具,支持项目自动切换环境,让开发环境统一且干净。

mise官方文档:https://mise.jdx.dev/getting-started.html

作为 Java 开发,肯定没少被 JDK 版本折腾:项目要换版本,就得手动改环境变量,切来切去手忙脚乱,还容易搞混。今天给大家安利一款超实用的版本管理工具 ——mise,在 Windows 上装好后,能实现「进项目目录自动切换 JDK 版本」,彻底解放双手,再也不用手动折腾环境配置了!

一、Windows 安装 mise

mise 安装超简单,全程一键操作,不用复杂配置。

  1. 管理员身份打开 PowerShell(右键开始菜单,选择「Windows PowerShell (管理员)」);

  2. 执行安装命令,通过 winget 直接下载安装:

winget install jdx.mise
  1. 安装完成后,必须重启 PowerShell 或终端(让环境变量生效),然后输入以下命令验证是否安装成功:

mise --version

如果终端显示出 mise 的版本号(比如 mise 2024.4.0),就说明安装成功啦,是不是超简单!

二、配置自动版本切换核心

mise 的核心优势就是「自动识别项目版本并切换」,需要简单配置一下 shims 路径,让终端能识别到版本切换逻辑。

直接在 PowerShell 中执行以下命令,将 mise 的 shims 目录添加到用户环境变量 PATH 中:

# 打印出shims的目录
PS C:\Users\hz > echo "$env:USERPROFILE\AppData\Local\mise\shims"
C:\Users\hz\AppData\Local\mise\shims

# 下面两个命令会将shims的目录配置到用户环境变量path中,也可以手动复制上面的路径自己添加到环境变量中
# 获取 mise shims 目录路径
$shimPath = "$env:USERPROFILE\AppData\Local\mise\shims"
# 把 mise 的代理目录,加到系统的 “命令搜索路径” 最前面
[Environment]::SetEnvironmentVariable("PATH", $shimPath + ";" + [Environment]::GetEnvironmentVariable("PATH", "User"), "User")

配置完成后,再次重启终端,这个自动切换的配置就生效了。

三、项目内配置 JDK 版本(核心步骤)

接下来就是针对具体项目配置 JDK 了,只需在项目根目录创建一个配置文件,就能锁定该项目的 JDK 版本,终端进入目录自动切换。

  1. 进入你的 Java 项目根目录(比如 D:\project\my-java-project),可以通过 PowerShell 命令 cd 项目路径 跳转;

  2. 新建名为 .mise.toml 的配置文件

  1. 编辑 .mise.toml 文件,写入 JDK 版本配置(以常用的 JDK 17 为例,也可以填具体版本号如 17.0.10):

[tools]
java = "17"
  1. 安装对应版本的 JDK,在项目目录执行命令:

# 如果jdk不存在,执行mise install 或者 java -version 都会自动安装jdk
mise install

mise 会自动下载并安装配置文件中指定的 JDK 版本,等待安装完成即可。

四、常用命令

日常使用 mise 其实很简单,记住几个高频命令就足够了:

  • 查看 mise 自身版本:mise --version

  • 安装当前项目配置的工具:mise install

  • 安装指定版本JDK:mise install java@21

  • 查看当前目录正在使用的版本:mise current

  • 临时切换(仅当前终端):mise shell java@17 (如果报错需要激活mise,步骤在下面)

  • 查看已安装的 JDK 版本列表:mise list java

  • 卸载指定java版本:mise uninstall java@21

  • 设置全局默认 JDK 版本:mise use --global java@版本号

  • 环境异常时进行自检:mise doctor

  • 更新 mise 到最新版:mise self-update

  • 查看可安装的java版本:mise ls-remote java

🔧 补充:Node 版本管理与全局工具安装

当使用 mise 管理多 Node 版本时,直接用 npm install -g 安装的全局应用可能会因 Node 版本切换而失效

推荐统一用 mise 管理全局工具,保证在任意 Node 版本下都能正常使用:

# 示例:用 mise 安装全局工具
mise use -g github:anomalyco/opencode
# 更新
mise upgrade -g github:anomalyco/opencode
# 从 mise 中卸载 opencode
mise uninstall -g opencode

其他全局工具同理,把 npm install -g 替换为 mise use -g 即可,版本切换后工具依然可用。

# 激活mise
# 1. 给 PowerShell 配置文件添加自动激活(永久生效)
notepad $PROFILE
mise activate pwsh | Out-String | Invoke-Expression
# 刷新配置
.$PROFILE

五、验证配置是否生效

配置完别着急走,一步验证确保万无一失!

  1. 保持在项目根目录,执行命令查看当前 JDK 版本:

java -version

如果显示的是配置的 JDK 17 版本(比如 openjdk version "17.0.10" 2024-01-16),就说明配置成功了!

2. 再测试一下「离开项目目录」的效果:退出项目目录(比如执行 cd .. 回到上一级),再输入 java -version,会发现 JDK 版本自动切回你之前的全局版本,完美实现「按需切换」。

文章作者: Z
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 微博客
工具 其他 运维 nodejs 运维 java 工具
喜欢就支持一下吧