我们尝试使用TZUpdater 2.2.0将JVM的时区信息更新为2018g版本。
我们尝试过与官方latest version,然后与官方2018g version
Buth均失败,并显示以下消息:
Failed: java.lang.Exception: Failed while parsing file 'C:\Users\user\AppData\Local\Temp\tz.tmp_14\asia' on line 1655 'Rule Japan 1948 1951- Sep Sat>=8 25:00 0 S'
java.lang.Exception: Failed while parsing file 'C:\Users\user\AppData\Local\Temp\tz.tmp_14\asia' on line 1655 'Rule Japan 1948 1951 -Sep Sat>=8 25: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(ExternalMod
ule.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(TzdbZoneRulesCompi
ler.java:475)
at tools.tzdb.TzdbZoneRulesCompiler.parseRuleLine(TzdbZoneRulesCompiler.
java:399)
at tools.tzdb.TzdbZoneRulesCompiler.parseFile(TzdbZoneRulesCompiler.java:354)
... 5 more
此问题与所描述的here相同,该问题与2018f版本一起发生。如here所述,2018g发行版应修复此错误。那么,为什么我们仍然有这个问题?
这是我们使用的命令:
c:\data\java>java -jar tzupdater.jar -V
tzupdater version 2.2.0-b01
JRE tzdata version: tzdata2018e
tzupdater tool would update with tzdata version: tzdata2018g
c:\data\java>java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
有人可以告诉我们我们做错了什么吗?提前非常感谢!