IntelliJ构建代码报sun.util.calendar.ZoneInfoFile类初始化失败错误原因
Could not initialize class sun.util.calendar.ZoneInfoFile 报错常见原因 该报错本质是JDK时区核心类初始化失败,即使代码未直接调用日历相关类,JVM启动、构建工具加载、日志/服务框架等依赖系统时间的组件都会隐式触发该类的加载,常见诱因如下:
- JDK安装包损坏:你使用的JDK 17目录下的时区数据库文件
jre/lib/tzdb.dat丢失或损坏,这是ZoneInfoFile类加载的核心依赖,文件缺失会直接触发初始化失败 - IntelliJ SDK配置不匹配:项目SDK、模块SDK、全局SDK三者配置不一致,或指向的JDK目录不完整,构建时交叉加载不同版本的JDK类文件引发类加载冲突
- 构建缓存损坏:IntelliJ系统缓存、项目构建工具(Gradle/Maven)本地缓存存在异常,缓存了错误的类加载记录,导致类初始化逻辑出错
- 操作系统时区配置异常:本地系统的时区配置被篡改、格式不兼容JDK 17的时区数据库,类初始化时读取系统时区参数失败
- 第三方依赖冲突:项目引入的依赖存在时区相关的字节码增强逻辑,或引入了低版本JDK的兼容包,覆盖了JDK自带的
ZoneInfoFile类实现,导致初始化流程异常
内容的提问来源于stack exchange,提问作者Xattics
相关产品推荐
相关产品推荐

