时区问题导致java程序查询无结果

我将程序从本机部署到工控机后,发现有个页面查询无数据。同一个数据库,项目在本地跑是有数据的。

这引起了我的恐慌。因为工控机的CPU架构为ARM,内存又小,只有4G。之前出现过在本地跑得好地地的程序,部署到工控机运行就崩溃的情况。在巨大的进度压力之下,那次我差点也崩溃了。

经过调试,发现是时区有偏差,比我们的时间少了8个小时。那个时间范围内,的确是没有数据。

具体情况如下,工控机操作系统为ubuntu,它上面的时间与上海时区一致,但我用docker部署的程序,AI解释说是JVM的时区不对,可以在启动程序时,对JVM指定时区。于是修改运行脚本:

java -jar /usr/data/jbh2022-web-server-1.0.0.jar

改为

java -Duser.timezone=Asia/Shanghai -jar /usr/data/jbh2022-web-server-1.0.0.jar

于是时间正常,问题解决。

posted on 2025-06-23 19:08  左直拳  阅读(1)  评论(0)    收藏  举报  来源

导航