Tomcatでタイムゾーンを変更するにはどうすればよいですか? Webアプリの1つ(Solr)で使用されるタイムゾーンが正しくありません(MySQLタイムスタンプと比較して)、Tomcatのタイムゾーンを変更すると役立つと思います。ありがとう!
Tomcatに個人のTZ環境変数がない限り、Tomcatは/etc/localtime
を使用します。これは、私のシステムでは/usr/share/zoneinfo/America/New_York
のコピーです。
Tomcatの個人のタイムゾーンは、起動スクリプトで次のような形式で指定されます。
-Duser.timezone=GMT
Tomcatのタイムゾーンを変更するためにcatalina.sh
の先頭(shabangの後)に追加するものは次のとおりです。
Tomcat_TIMEZONE="-Duser.timezone=Europe/Budapest"
CATALINA_OPTS="$CATALINA_OPTS $Tomcat_TIMEZONE"
また、Tomcatを再起動して有効にすることを忘れないでください。
エリック・ワンが言ったように、あなたは使うかもしれません
Tomcat_TIMEZONE="-Duser.timezone=Europe/Budapest"
CATALINA_OPTS="$CATALINA_OPTS $Tomcat_TIMEZONE"
しかし、CentOSサーバーでは、catalina.shが見つかりませんでした。代わりに、これらの変数を/ etc/sysconfig/Tomcat6に追加しました。これで、問題なく動作します。
Solrに格納されているデータのタイムゾーンを参照している場合... Solrのすべての日付/時刻値は、UTCを使用する DateField を介して格納されます。