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

编译Dafny源码遇Unsupported class file major version 63错误求助

解决Dafny编译时Unsupported class file major version 63错误

这个错误核心是Java类文件版本与运行时JVM版本不兼容,major version 63对应Java 19,说明有代码用Java 19编译,但构建过程中某个环节调用了更低版本的JVM加载类文件。结合你的环境配置,可能的原因和解决方法如下:

  • Gradle编译配置版本不匹配
    检查项目根目录的gradle.properties或build.gradle文件,确认sourceCompatibility和targetCompatibility是否设置为19。如果这两个参数是更低版本(比如11、17),Gradle会强制用低版本标准编译代码,但你的系统JDK是19,生成的类文件版本会超出低版本JVM的兼容范围,触发错误。修改这两个参数为19后重新执行make exe。

  • 系统多版本Java冲突
    在终端执行java -version和javac -version,确认输出是否都是19.0.2。如果不一致,说明系统PATH里优先级更高的是其他低版本Java,导致Gradle或make调用了错误的JVM。调整系统PATH,将Java 19的bin目录移到最前面,确保全局调用的都是目标版本。

  • Dafny构建脚本硬编码Java路径
    查看项目的Makefile内容,检查是否有指定Java执行路径的变量(比如JAVA_HOME或JAVAC)。如果这些变量指向了低版本Java的安装目录,直接修改为Java 19的路径即可。另外,Dafny依赖的ANTLR等工具可能存在版本兼容问题,确认Gradle依赖中的ANTLR版本是否支持Java 19,必要时升级依赖版本。

  • Gradle缓存残留导致冲突
    之前用其他Java版本构建产生的缓存文件会干扰新构建。执行./gradlew clean清除构建缓存,同时删除项目目录下的.gradle文件夹,强制Gradle重新下载依赖并以当前Java版本重新构建,之后再运行make exe。

内容的提问来源于stack exchange,提问作者Stack Overflow User

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 04:17:37