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

Java应用运行遇tzdb.dat文件编译报错问题求助

解决IntelliJ+JDK20编译时tzdb.dat相关报错问题

问题重现

使用IntelliJ 2023.1搭配JDK 20.0.1编译Java项目时,出现指向C:\Program Files\Java\jdk-20\lib\tzdb.dat的模糊编译错误,尝试替换文件、使用tzupdater、重命名备份后问题未解决,甚至出现文件找不到的错误。

可行解决步骤

  • 检查权限与JDK完整性

    1. 以管理员身份运行IntelliJ,避免因权限不足无法读取/修改JDK目录下的文件。
    2. 重新下载官方JDK 20.0.1安装包,执行覆盖安装(无需卸载原有JDK),确保tzdb.dat为完整的原始文件。
  • 调整IntelliJ编译配置

    1. 打开File > Project Structure(快捷键Ctrl+Alt+Shift+S),确认Project SDK指向正确的JDK 20.0.1路径,且该路径下lib/tzdb.dat存在。
    2. 进入Settings > Build, Execution, Deployment > Compiler > Java Compiler,在Additional command line parameters中添加-XDignore.symbol.file,跳过符号文件检查后重新编译。
  • 正确替换tzdb.dat

    1. 优先将更新后的tzdb.dat放入项目的src/main/resources目录,让应用优先加载项目内的时区数据文件,避免修改JDK系统文件。
    2. 若必须修改JDK文件:先备份原始tzdb.dat,右键以管理员权限打开文件管理器,将新文件复制到C:\Program Files\Java\jdk-20\lib,并确保文件未设置只读属性。
  • 系统时区与缓存清理

    1. 检查Windows系统时区设置,尝试切换时区后再切回原时区,或重启系统排除时区配置异常。
    2. 执行File > Invalidate Caches...,选择Invalidate and Restart清除IntelliJ编译缓存,重启后重新编译项目。

内容的提问来源于stack exchange,提问作者Joey Tatú

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:22:14