Как вручную обновить часовой пояс в JDK?

В OracleJDK обновления часовых поясов выполняются с помощью инструмента Oracle tzupdater. Я использую OpenJDK (двоичный файл zulu, предлагаемый Azul) и хочу обновить его часовой пояс до последнего часового пояса IANA. Что именно значит обновить часовой пояс? Как я могу сделать это вручную? Заранее спасибо.

1 ответ

Решение

Azul недавно опубликовал инструмент с открытым исходным кодом для обновления данных TZ: https://www.azul.com/products/open-source-tools/ziupdater-time-zone-tool/

Он работает аналогично Oracle tzupdater, но имеет лицензию с открытым исходным кодом (лицензия GPLv2).

Использование: примените его к пакету данных IANA, используя Java, который вы хотите обновить:

$JAVA_HOME/bin/java -jar ziupdater.jar -l file://[path]/tzdata.tar.gz

С помощью этой команды вы будете применять изменения часового пояса к вашей установке Java.


Что это значит?

Рассмотрим следующую ситуацию: вы установили Java год назад, а затем правительство определенной страны изменило свои законы, например, отменило DST. Ваша инсталляция Java еще не знает об этом и может неправильно обрабатывать время для этого конкретного региона. Обновление данных о часовых поясах решает эту проблему.

Другие вопросы по тегам