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

编译Gradle项目遇类版本不兼容错误,求解决方案

解决Gradle项目编译时类文件版本不匹配错误(52.0 vs 55.0)

错误信息

import in.novopay.infra.platform.core.ThreadLocalContext;
^
错误的类文件:C:\Users\Sourav.gradle\caches\modules-2\files-2.1\in.novopay\infra-platform\1.0.5.RELEASE\5771c6ef6ce862090a3659b2829ba3abc860dd36\infra-platform-1.0.5.RELEASE.jar(in/novopay/infra/platform/core/ThreadLocalContext.class)
类文件版本错误:应为52.0,实际为55.0
请移除该文件或确保其位于类路径的正确子目录中。

FAILURE: 构建因异常失败。

  • 问题原因:
    任务':compileJava'执行失败。

编译失败;详情请查看编译器错误输出。

问题分析

类文件版本号对应Java版本:

  • 52.0 = Java 8
  • 55.0 = Java 11

错误说明项目当前使用Java 8编译,但依赖的infra-platform-1.0.5.RELEASE.jar是用Java 11编译的,版本不兼容导致构建失败。

解决方案

1. 升级项目JDK版本到Java 11或更高

修改项目的Gradle配置文件(build.gradle或build.gradle.kts),将编译目标版本设置为Java 11:

  • Groovy DSL(build.gradle):
java {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}
  • Kotlin DSL(build.gradle.kts):
java {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}

同时确保本地开发环境安装了Java 11或更高版本,可通过java -version命令验证。若Gradle未自动识别正确JDK,可在gradle.properties中指定:

org.gradle.java.home=/path/to/your/jdk11

2. 降级依赖库到兼容Java 8的版本

如果无法升级项目JDK,查找in.novopay:infra-platform是否有支持Java 8的版本,修改依赖声明后重新构建:

implementation 'in.novopay:infra-platform:[兼容Java8的版本号].RELEASE'

3. 清理Gradle缓存(可选)

若上述方法无效,可能是缓存的旧依赖文件导致问题,执行以下命令清理缓存:

  • Windows:
rd /s /q C:\Users\Sourav\.gradle\caches
  • Linux/Mac:
rm -rf ~/.gradle/caches

清理后重新执行./gradlew clean build命令构建项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 11:52:50