- 2010-01-20 (水) 22:09
- Java
とある古いサーバにインストールされているJDK 6 Update 17をJDK 6 Update 18に更新したらデフォルトのタイムゾーンがJSTからGMTに変わってしまいました。他のサーバでは問題なかったのでこの古いサーバ限定の問題です。
状況を確認するためにサンプルコードを動かして確認しました。
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
System.out.println(new java.util.Date());
}
}
実行してみます。
# /usr/local/java/jdk1.6.0_17/bin/java DateTest Wed Jan 20 21:42:44 JST 2010 # /usr/local/java/jdk1.6.0_18/bin/java DateTest Wed Jan 20 12:42:56 GMT 2010
というようにJDK 6 Update 17ではJSTなのにJDK 6 Update 18だとGMTになってしまいました。JVMのタイムゾーンがGMTになる 追記と同じ原因のようで、/etc/localtime を調べてみたら /usr/share/zoneinfo/Asia/Tokyo と違うものでした。
# ls -al /etc/localtime -rw-r--r-- 1 root root 73 Feb 26 2004 /etc/localtime # ls -al /usr/share/zoneinfo/Asia/Tokyo -rw-r--r-- 2 root root 125 Mar 22 2006 /usr/share/zoneinfo/Asia/Tokyo
というわけで、コピーして直します。
cp -a /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
再び確認します。
# /usr/local/java/jdk1.6.0_17/bin/java DateTest Wed Jan 20 21:49:58 JST 2010 # /usr/local/java/jdk1.6.0_18/bin/java DateTest Wed Jan 20 21:50:07 JST 2010
無事直りました。良かった良かった。
/etc/localtime が食い違ってのは、/etc/localtimeのタイムスタンプが2004-02-26 という古いサーバなので、インストール時に何かミスったか、これまでの運用の中での更新で何かがおきたのかなと思います。ただ、JDK更新したらいきなしWEBアプリが書き込むデータのタイムスタンプが9時間ずれ初めてたのでビックリしました。
この記事に関連する別の記事:
- Apache 2.2 dav_svnがエラー (解決) ...
- JDK 5.0 Update 7 ...
- DevLoader改変、Mayaa対応編 昨日のDevLoader改変により、最近のSeasarを使ったプロジェクトに対応したものの、今日いざ自分のMayaaを使ったプロジェクトのjarファイルをMavenで管理させたら見事に上手く動きませんでした。 というわけ [...]...
- Seasar Conference 2006 Autumn ==満員御礼== -> キャンセル分補充受付中 いよいよ今週末のSeasar Conference 2006 Autumnですが、申し込み数が定員の満員御礼となりました。当日のご来場お待ちしてまーす。 [追記] キャンセル分を補充して再び募集受付となりましたー。申し込 [...]...
- Munin ipmitool_sensor_ Plugin Muninでマシンのファン回転数、温度、電圧をグラフ化するにはsensor_というPluginを使うのが楽です。ただし、このPluginはlm_sensorsの値を見るので、比較的新しい対応していないマザーボードだと値を [...]...
コメント:0
トラックバック:0
- このエントリーのトラックバックURL
- http://jfut.integ.jp/2010/01/20/jdk-6-update-18-default-timezone-on-old-server/trackback/
- Listed below are links to weblogs that reference
- 古いサーバでJDK 6 Update 18に更新したらタイムゾーンがJSTからGMTに変わった件と対処法 from ふたつの川うるおう日記

