更新到 tzdata2019b 失败 - tzupdater 版本 2.2.0-b01 [英] Update to tzdata2019b is failing - tzupdater version 2.2.0-b01

查看:25
本文介绍了更新到 tzdata2019b 失败 - tzupdater 版本 2.2.0-b01的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 Oracle 的 tzupdater 工具来更新时区数据.我看到了一个堆栈溢出答案(使用 tzupdater-2.2.0 更新 tzdata 2018f(2018-10-18 发布)时出错)说该问题已在 2018 年版本的时区数据中得到解决,但它现在正在尝试安装 2019 年版本,但仍然失败.

I'm trying to use Oracle's tzupdater tool for updating timezone data. I saw a stack overflow answer (Error updating tzdata 2018f (Released 2018-10-18) with tzupdater-2.2.0) saying the problem was fixed in a 2018 version of the timezone data, but it's now trying to install a 2019 version and is still failing.

# java -jar tzupdater.jar -v -l
Using https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz as source for tzdata bundle.
java.home: /usr/java/jre1.8.0_102
java.vendor: Oracle Corporation
java.version: 1.8.0_102
tzupdater version 2.2.0-b01
JRE tzdata version: tzdata2016d
Downloaded file to /tmp/tz.tmp_3/tzdata.tar.gz
tzupdater tool would update with tzdata version: tzdata2019b
Compiling TZDB version 2019b
Parsing file: /tmp/tz.tmp_3/africa
Parsing file: /tmp/tz.tmp_3/antarctica
Parsing file: /tmp/tz.tmp_3/asia
Failed: java.lang.Exception: Failed while parsing file '/tmp/tz.tmp_3/asia' on line 1865 'Rule  Japan   1948    1951    -   Sep Sat>=8  25:00   0   S'
java.lang.Exception: Failed while parsing file '/tmp/tz.tmp_3/asia' on line 1865 'Rule  Japan   1948    1951    -   Sep Sat>=825:00 0   S'
    at tools.tzdb.TzdbZoneRulesCompiler.parseFile(TzdbZoneRulesCompiler.java:377)
    at tools.tzdb.TzdbZoneRulesCompiler.compile(TzdbZoneRulesCompiler.java:191)
    at tools.tzdb.TzdbZoneRulesCompiler.<init>(TzdbZoneRulesCompiler.java:307)
    at com.sun.tools.tzupdater.ExternalModule.compileToJSRBinary(ExternalModule.java:153)
    at com.sun.tools.tzupdater.TimezoneUpdater.run(TimezoneUpdater.java:230)
    at com.sun.tools.tzupdater.TimezoneUpdater.main(TimezoneUpdater.java:634)
Caused by: tools.tzdb.DateTimeException: Invalid value for SecondOfDay value: 90000
    at tools.tzdb.ChronoField.checkValidValue(ChronoField.java:173)
    at tools.tzdb.LocalTime.ofSecondOfDay(LocalTime.java:210)
    at tools.tzdb.TzdbZoneRulesCompiler.parseMonthDayTime(TzdbZoneRulesCompiler.java:475)
    at tools.tzdb.TzdbZoneRulesCompiler.parseRuleLine(TzdbZoneRulesCompiler.java:399)
    at tools.tzdb.TzdbZoneRulesCompiler.parseFile(TzdbZoneRulesCompiler.java:354)
    ... 5 more

这个问题真的解决了吗?或者还有其他解决方法吗?谢谢.

Was this problem actually fixed? Or is there another workaround? Thanks.

推荐答案

目前,TZUpdater 工具只兼容rearguard"数据格式,不再有预构建的二进制文件.IANA 从未发布过它们,但 Paul Eggert(TZ 维护者)之前曾在他自己的个人网站上发布过它们.他已经决定不再这样做了.(TZDB 邮件列表中有一个很长的主题.)

Currently, the TZUpdater tool is only compatible with the "rearguard" data format, which no longer has pre-built binaries. IANA has never published them, but Paul Eggert (the TZ maintainer) was previously publishing them on his own personal site. He has decided not to do that any more. (There's a long thread in the TZDB mailing list about this.)

幸运的是,您可以通过以下过程自己构建它们:

Fortunately, you can build them yourself through the following procedure:

  • 从 IANA 下载完整的分发文件 tzdb-2019b.tar.lz .
  • 在 POSIX 系统上(此处假设为 Ubuntu Linux):
    • sudo apt install lzip(如果你还没有的话)
    • lzip -d tzdb-2019b.tar.lz
    • tar xvf tzdb-2019b.tar
    • cd tzdb-2019b
    • 制作rearguard_tarballs
    • Download the complete distribution file tzdb-2019b.tar.lz from IANA.
    • On a POSIX system (Ubuntu Linux assumed here):
      • sudo apt install lzip (if you don't have it already)
      • lzip -d tzdb-2019b.tar.lz
      • tar xvf tzdb-2019b.tar
      • cd tzdb-2019b
      • make rearguard_tarballs

      生成的 tzdata2019b-rearguard.tar.gz 文件与 TZUpdater 兼容:

      The resulting tzdata2019b-rearguard.tar.gz file is compatible with TZUpdater:

      java -jar tzupdater.jar -v -l tzdata2019b-rearguard.tar.gz
      

      希望这最终能通过更新版本的 TZUpdater 得到解决,该版本了解发布格式而无需后卫数据.

      Hopefully this will eventually get resolved with an updated version of TZUpdater that understands the release format without requiring rearguard data.

      这篇关于更新到 tzdata2019b 失败 - tzupdater 版本 2.2.0-b01的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆