You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacBook Air M2编译jextract失败:release version 20不支持求助

解决MacBook Air M2上编译jextract时"release version 20 not supported"错误

问题根源

Gradle未正确调用你指定的Zulu JDK 20,而是使用了系统中版本更低的javac,导致无法支持JDK20的编译版本参数。

解决方案

1. 确认系统默认JDK版本

先检查当前终端使用的javac版本:

javac -version

如果输出不是javac 20,执行以下命令查看所有已安装JDK,确认Zulu JDK20的路径:

/usr/libexec/java_home -V

2. 强制Gradle使用指定JDK

方法一:添加项目级配置

在jextract项目根目录创建gradle.properties文件,写入:

org.gradle.java.home=/Library/Java/JavaVirtualMachines/zulu-20.jdk/Contents/Home

之后重新执行编译命令。

方法二:命令行直接指定

在Gradle命令中添加-Dorg.gradle.java.home参数:

./gradlew -Dorg.gradle.java.home=/Library/Java/JavaVirtualMachines/zulu-20.jdk/Contents/Home -Pjdk20_home=/Library/Java/JavaVirtualMachines/zulu-20.jdk/Contents/Home -Pllvm_home=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/ clean verify

方法三:临时设置环境变量

在终端执行以下命令,再运行编译:

export GRADLE_OPTS="-Dorg.gradle.java.home=/Library/Java/JavaVirtualMachines/zulu-20.jdk/Contents/Home"

3. 适配M2架构的LLVM路径验证

如果Xcode自带LLVM路径存在问题,用Homebrew安装arm64适配版LLVM:

brew install llvm

然后将-Pllvm_home参数替换为Homebrew的安装路径:

-Pllvm_home=/opt/homebrew/opt/llvm/

4. 切换到适配JDK17的jextract分支

若坚持使用Zulu JDK17,先切换到对应分支:

git checkout jdk17u

再调整编译命令:

./gradlew -Dorg.gradle.java.home=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home -Pjdk17_home=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home -Pllvm_home=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/ clean verify

5. 彻底清理缓存

每次尝试前执行以下命令清除残留缓存:

rm -rf build/ .gradle/
rm -rf ~/.gradle/caches/modules-2/files-2.1/org.openjdk.jextract/
git reset --hard

内容的提问来源于stack exchange,提问作者peterk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 03:26:12