Java 8 在 Ubuntu 14.04 上的时间偏差
最近升级 Java 到 8;不幸遇到一个问题:时间比真实时间晚点了2个小时,折腾了很久,终于找到问题了。网络上有的说晚了 8 小时,我这里确实 2 小时;可能服务位置的差异。
问题的根源是 Java 8 的默认时区的问题,需要给 jvm 显性指定 自己的时区,以下配置代码只适合 Linux 的:
export JAVA_HOME=/usr/java/jdk1.8.0_72 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/dt.jar export PATH=$JAVA_HOME/bin:$PATH export JAVA_OPTS="-server -Xmx1024m -Xms1024m -XX:MaxPermSize=128m -Duser.timezone=GMT+08"
关键代码在最后一行的 -Duser.timezone=GMT+08
另外 export JAVA_OPTS 的写法,网络很多种,有的没有双引号,有的 -server 写成 -JAVA_OPTS,我都一一撞上了,都没有成功,为此以为 -Duser.timezone=GMT+08 设置无效,另行折腾,甚至看了Java 8 的默认时区相关的源码,大费周折,实在浪费了时间。
哇~~~ 竟然还没有评论!