brew install jenv
# 添加已安装的 JDK
jenv add /Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
# 切换 Java 版本
jenv global 1.8 # 设置全局为 1.8
jenv local 17 # 为某个项目设置为 17
✅ 第一步:查看当前 java 命令的路径
which java
输出可能类似:
/usr/bin/java
但是注意:/usr/bin/java 通常是 macOS 的系统代理,不是真实的 JDK 目录,我们需要用下面的方式找出真正路径。
✅ 第二步:查看当前 JDK 的真实安装路径
运行:
/usr/libexec/java_home -v 11
输出可能类似:
/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home
这个路径就是 Temurin 11 的真实 JDK 目录。
✅ 第三步:将它加入到 jenv
假设输出路径为:
/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home
那么执行命令:
jenv add /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home
✅ 第四步:验证是否添加成功
jenv versions
你应该能看到类似:
system
* 11.0
✅ 第五步:为项目设置 Java 版本
进入你的 Flutter 项目目录,运行:
jenv local 11.0
这会在当前目录创建一个 .java-version 文件,指明该项目使用 Java 11。
✅ 可选:设置全局默认版本
jenv global 1.8
例如:你全局想用 Java 8,Flutter 项目单独使用 Java 11,就可以这样配。
如你不确定 Temurin 是不是用 Homebrew 装的,也可以运行:
ls /Library/Java/JavaVirtualMachines/
列出所有 JDK,看是否有类似:
temurin-11.jdk
temurin-17.jdk
zulu-8.jdk
然后逐个用 jenv add 注册即可。
⚠️ 问题
jenv 在添加 Java 版本时尝试在 ~/.jenv/versions/ 下创建软链接失败,提示:
bash
复制编辑
ln: /Users/synapsor/.jenv/versions/temurin64-11.0.24: No such file or directory
这是因为 jenv 当前安装或配置不完整,缺少一些关键目录。我们来逐步修复:
✅ 解决步骤
① 检查 .jenv 目录结构是否完整
运行以下命令:
ls ~/.jenv/versions
如果提示目录不存在,请先手动创建它:
mkdir -p ~/.jenv/versions
然后再次执行:
jenv add /Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home