在
Java 8(jdk1.8.0_32)中,时区文件(在jre / lib / zi下)不再像以前那样存在. Java 7u67.
有谁知道,他们为什么不在那里?
或者是否需要下载不同的设置?我使用了JDK设置(jdk-8u31-windows-i586和x64.exe).
解决方法
进入更多细节,从版本1.8开始从Java版本中删除lib / zi目录的动机显然是为了减轻维护负担. 1.4中引入的lib / zi目录和1.8中引入的新tzdb.dat文件在维护方面要花费很多.另见
JSR-310-mailing archive的邮件.
另一个原因是JEP 151制定的动机,其目标是减少lib / zi-library的内存占用和启动时间.最终通过删除lib / zi-library来支持更紧凑的新tzdb.dat文件来解决这个目标,该文件的大小约为100 kByte.
还要记住,旧的lib / zi结构已经产生了到2037年的偏移转换.这种限制起源于使用有限的整数类型,因此在未来不会到目前为止整个结构已经过时并且需要如果Oracle决定保留它,那就是一般的重构.