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

OpenJDK8升级到16报Unsupported class file major version 60及Jacoco错误如何解决

"Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 60"

java.lang.instrument.IllegalClassFormatException: Error while instrumenting sun/security/ec/SunEC$1.

以上两个报错均由当前使用的Jacoco 0.8.4版本不兼容Java 16导致:Java 16对应的类文件主版本号为60,Jacoco 0.8.4最高仅支持到Java 14,无法识别高版本类结构,对JDK内部类执行插桩操作时就会触发上述异常。你使用的Gradle 7.2本身原生兼容Java 16,无需调整Gradle版本,按以下步骤处理即可:

解决步骤
  • 升级Jacoco版本到0.8.7及以上,该版本为首个正式支持Java 16的Jacoco稳定版。Gradle环境下直接修改根build.gradle中的Jacoco配置:
jacoco {
    toolVersion = "0.8.7"
}
  • 清理本地构建缓存,执行对应命令删除旧构建产物和插桩缓存:
    • Linux/macOS环境执行:./gradlew clean
    • Windows环境执行:gradlew clean
  • 重新执行构建、测试及覆盖率统计任务,验证报错是否消失。
可选优化配置

如果升级后仍偶发JDK内部类插桩报错,可配置Jacoco排除JDK内部包的插桩规则,无需统计JDK内部类的覆盖率:

test {
    jacoco {
        excludes = ['sun/**', 'jdk/internal/**', 'com/sun/**']
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:39:03