UbuntuでJavaのtimezoneがUTCからJSTに変わらない時の確認事項
UbuntuでJava(Spring)アプリケーションを利用しているが、どうしてもJavaのタイムゾーンがJSTにならない場合の確認事項。
バージョン
Ubuntu | 16.04 |
---|---|
Java | 1.8.0_91 |
確認事項①
- /etc/timezoneをAsia/Tokyoに変更する
- これは Debian/Ubuntu系固有
確認事項②
- /etc/localtimeをAsia/Tokyoのものにする
- これはLinux全般で利用している
まとめ
自分の場合は②の方だけ行ってdateコマンドではJSTになっているのにJava側はUTCになるという問題でハマってしまいました。 なのでUbuntuでタイムゾーンの変更を行う場合は両方共揃えないとタイムゾーンを利用するアプリケーションが意図しない挙動をしてしまうようです。
参考
タイムゾーンの設定方法をメモ(RHEL6, RHEL7, Ubuntu編) | Siguniang's Blog
優先度など。