Change Timezone in Tomcat
如何更改 Tomcat 中的时区?其中一个 webapps (Solr) 使用的时区不正确(与 MySQL 时间戳相比),我认为更改 Tomcat 的时区会有所帮助。谢谢!
- solr 以什么用户身份运行,它的环境设置为什么?
-
我将 solr 作为 tomcat webapp 加载,并且 tomcat6 以用户 tomcat 的身份运行。 Tomcat6 在 CentOS 6.3 的 8080 端口上运行。
除非 tomcat 有个人 TZ 环境变量,否则它使用 /etc/localtime 在我的系统上是 /usr/share/zoneinfo/America/New_York 的副本。
Tomcat 的个人时区将在其启动脚本中以如下形式指定:
- tomcat webapp Solr 的时间比 MySQL/PHP 中的时间快 4 小时。如果 tomcat 使用 etclocaltime,Solr 和 MySQL 的时间不应该相同吗?
-
我遇到过同样的问题。事实证明,Java 正在查看 etcsysconfigclock 文件。这是评论以获取更多信息
-
那么这就是Javas部分的错误。 /etc/sysconfig/clock 在最近的发行版中被逐步淘汰。除非用户覆盖它,否则一切都应该使用 /etc/localtime。
这是我在 catalina.sh 开头(shabang 之后)添加的内容以更改 tomcat 的时区:
1 2
| TOMCAT_TIMEZONE="-Duser.timezone=Europe/Budapest"
CATALINA_OPTS="$CATALINA_OPTS $TOMCAT_TIMEZONE" |
而且别忘了重启tomcat才能生效。
-
这在 catalina.sh 中不一定需要,当将其添加为系统变量时,此解决方案也可以正常工作。 :竖起大拇指:
-
这样可行!我不知道为什么,但是将时区直接添加到 CATALINA_OPTS 不起作用,但这有效! TOMCAT_TIMEZONE 是否加载到其他地方?
-
@vitormm现在我使用时间戳,因此在大多数情况下时区不再重要。但是如果你使用的是 spring-boot
正如Eric Wang所说,你可以使用
1 2
| TOMCAT_TIMEZONE="-Duser.timezone=Europe/Budapest"
CATALINA_OPTS="$CATALINA_OPTS $TOMCAT_TIMEZONE" |
但在 CentOS 服务器上我没有找到 catalina.sh,而是将这些变量添加到 /etc/sysconfig/tomcat6,这样就可以了!
如果您指的是存储在 Solr 中的数据的时区... Solr 中的所有日期/时间值都通过使用 UTC 的 DateField 存储。
-
DataImporHandlers dataimport.properties 中的时间 last_index_time 比 PHP/MySQL (EDT, America/Newyork) 使用的时间提前 4 小时。我应该如何调整 Solr(或 Tomcat)使用的 UTC 时区
-
检查 CATALINA_OPTS 的任何 tomcat 启动脚本或配置文件
-
正如@stark 回答的那样,在启动Tomcat 时传递-Duser.timezone 值,看到这个...... zeentan.com/wp/apache-solr-timezone-issue
-
大多数帖子说 CATALINA_OPTS 在 catalina.sh 中,但在 usrsharetomcat6bin 中不存在这样的文件。我还应该在哪里定义时区? raibledesigns.com/rd/entry/change_tomcat_s_timezone