症状
启动应用失败并报 UnsupportedClassVersionError,消息给出 class 文件版本与运行时支持的上限,如 61.0 对 55.0。代码用比运行环境更新的 JDK 编译。这常在升级构建环境而部署运行时仍为旧版本后出现。
诊断
读取消息中的两个版本号;检查构建的 release 目标;对比运行与构建 JDK 版本。
App 2>&1 | grep UnsupportedClassVersion
根因
class 文件为高于运行时 JDK 支持的版本编译,运行时拒绝加载。
修复
把编译 release 目标设为部署 JDK 版本,并用该目标构建,适用时使用 –release 以产出兼容字节码。若依赖确实需要更新 Java,应升级运行时而非强行不兼容构建。
验证
重跑应用确认启动,并确认 class 版本不再超过运行时上限。版本对齐即证明修复。
常见陷阱
仅在本机安装新 JDK 而不宣布最低版本要求,会让部署环境继续失败;应在构建配置中明确目标。