Java tzdata2016g版本中的TZupdater失败

Java tzdata2016g版本中的TZupdater失败,java,timezone,java-time,timezone-offset,Java,Timezone,Java Time,Timezone Offset,TZUpdate 2.1.0在tzdata2016g版本中失败。对于Java 8,由于“源目录不包含文件:版本”错误而失败,而对于Java 7,由于“JRE更新到版本:tzdataunknown”注释而完成 其原因似乎是IANA tzdata分布的最新变化:未设置Makefile的版本字段。报告了有关此问题的错误: DST日期(2016年10月30日)越来越近,我们至少需要一个解决方案。不知何故,这是可能的吗?解决方法: 更新Makefileof:VERSION变量的原始值为unknown,您

TZUpdate 2.1.0在tzdata2016g版本中失败。对于Java 8,由于“源目录不包含文件:版本”错误而失败,而对于Java 7,由于“JRE更新到版本:tzdataunknown”注释而完成

其原因似乎是IANA tzdata分布的最新变化:未设置Makefile的版本字段。报告了有关此问题的错误:

DST日期(2016年10月30日)越来越近,我们至少需要一个解决方案。不知何故,这是可能的吗?

解决方法:

  • 更新
    Makefile
    of:
    VERSION
    变量的原始值为
    unknown
    ,您需要将其更新为
    2016g
  • 重新生成
    tzdata2016g.tar.gz.sha512
    文件
编辑1:可以从以下位置下载修改的(工作)文件:


编辑2:Oracle宣布了相同的解决方法:。但是,您仍然需要自己创建工作
tzdata2016g.tar.gz
tzdata2016g.tar.gz.sha512
文件。你可以下载我准备的文件。请参见编辑1。

oneliner以了解懒惰者:

 curl https://github.com/anlcan/tzupdate/raw/master/tzupdate.zip -o tzup.zip && unzip tzup.zip && cd tzup && sh run.sh

tzupdate.zip文件包含
tzdata2016g.tar.gz
、正确的哈希值
tzdata2016g.tar.gz.sha512
,以及带有java tzupdate命令的脚本。您可以在这里找到zip文件:。

我已经为tzdata2016h完成了此解决方法。但是tzupdater会抱怨JRE的版本(tzdataunknown)比tzupdater提供的版本(tzdata2016h)更高,所以我使用
-f
选项强制更新,效果很好。请在StackOverflow上使用英语。另外,你的答案就是下载一些你制作的zip文件,然后盲目地运行它?这不是一个非常安全的做法,对于StackOverflow也不是一个很好的描述性答案。