我试过在几台机器上运行它,但总是出错。 我从官方的Oracle页面下载了tzupdater工具。
我跑了这个:
sudo java -jar tzupdater.jar -v -f -l
得到这个:
Using http://www.iana.org/time-zones/repository/tzdata-latest.tar.gz as source for tzdata bundle.
java.home: /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre
java.vendor: Oracle Corporation
java.version: 1.7.0_80
tzupdater version 2.1.1-b01
JRE tzdata version: tzdata2017c
Downloaded file to /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tz.tmp/tzdata.tar.gz
java.io.EOFException
Exception in thread "main" com.sun.tools.tzupdater.TzRuntimeException: java.io.EOFException
at com.sun.tools.tzupdater.TimezoneUpdater.main(TimezoneUpdater.java:662)
Caused by: java.io.EOFException
at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:264)
at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:254)
at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:163)
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:78)
at com.sun.tools.tzupdater.ExternalModule.extractFiles(ExternalModule.java:92)
at com.sun.tools.tzupdater.TimezoneUpdater.run(TimezoneUpdater.java:209)
at com.sun.tools.tzupdater.TimezoneUpdater.main(TimezoneUpdater.java:643)
请注意,当机器没有最新的tzdata版本(并且需要实际升级)时,也会发生这种情况。
请帮忙!
答案 0 :(得分:2)
它看起来像默认&#34;最新&#34; jar(由工具自动获取)是有问题的。 使用特定的tzdata2017c.tar.gz运行命令可以直接运行。
sudo java -jar tzupdater.jar -v -f -l https://data.iana.org/time-zones/releases/tzdata2017c.tar.gz