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

Java 17升级后Grails应用SpotBugs扫描报错求助

解决Java 17下SpotBugs报Unsupported class file major version 61错误

问题根源

你遇到的错误是因为Java 17的类文件版本(标识为61)超出了当前SpotBugs依赖的ASM库支持范围。你的配置中存在版本不匹配问题:Gradle SpotBugs插件用了4.5.0,但工具版本却指定了不支持Java 17的4.2.2,旧版本SpotBugs依赖的ASM无法处理Java 17生成的类文件。

解决方案

1. 统一升级到支持Java 17的SpotBugs版本

SpotBugs从4.7.0版本开始正式支持Java 17,需确保插件版本与工具版本一致:

  • 修改build.gradle中的插件版本:
plugins {
  // 保留其他原有插件
  id 'com.github.spotbugs' version '4.7.3' // 升级至兼容Java17的插件版本
}
  • 更新global-config.gradle中的工具版本,与插件版本匹配:
spotbugs {
    toolVersion = '4.7.3' // 该版本原生支持Java17
}

2. 清理缓存并重新执行任务

运行以下命令清理构建缓存,避免旧版本依赖残留:

./gradlew clean spotbugsMain spotbugsTest spotbugsIntegrationTest

额外检查项

  • 确保你的Gradle版本不低于7.3(Gradle 7.3及以上对Java 17的兼容性更好)
  • 确认项目编译环境已完全切换到Java 17,避免混合不同Java版本编译导致类文件版本混乱

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 03:00:59