Java перерыв на 1 час при запуске на Ubuntu против Windows - PullRequest
4 голосов
/ 10 февраля 2020

У меня есть микросервис, написанный на Java + с использованием Spring Boot. Я разработал его на Windows 10, используя Java версию 1.8.0_221. Теперь я хочу запустить это на Ubuntu 18.04. На машине с Ubuntu у меня OpenJDK 1.8.0_40-b25.

Когда я запускаю это на машине Windows, время, отображаемое в консольных сообщениях (я печатаю их с помощью log4j2), и время, которое я сохраняю в базе данных (используя Аннотации @CreatedDate и @Temopral (TemporalType.TIMESTAMP) в поле Дата) правильны, и мой ZoneId.systemDefault - Европа / Стамбул.

Это также Европа / Стамбул на моей машине с Ubuntu.

Однако, когда я запускаю это на машине с Ubuntu, время на 1 час отстает от системного времени, которое я получаю, набрав «date» на терминале. Все время в журналах, которые я печатаю на консоль, и мои базы данных отключаются на один час.

Я искал другие подобные вопросы, но все они были сосредоточены на часовых поясах, я не думаю, что в какой-либо части программы я Я изменяю часовой пояс. Также мое правильное время в Ubuntu заставляет меня думать, что мне нужно что-то изменить с помощью JVM?

1 Ответ

0 голосов
/ 12 февраля 2020

Я попытался обновить базу данных часовых поясов после ответа на этот вопрос this , но не смог заставить его работать. Поэтому я решил удалить OpenJDK и установить Oracle JDK 8, и теперь он работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...