姐妹们,今天又收集到一条虫,事情起源于接口本地访问不报错,服务器报错,拿到服务器输出日志后,看到这么一条信息:HOUR_OF_DAY: 0 -> 1。
首先我们想一下
为啥?为啥呢?
首先不是代码的问题,因为代码一样参数一样,就是环境不一样。
首先来排查不一样的环境,我们mysql本地和服务器是连的同一个mysql远程服务器,所以不是mysql问题,mysql这个大胸肌肉男是无辜的。
下面就是tomcat和jdk了,这个报错是jdbc时时区问题+数据刚好是边界值导致的报错。参考:
mysql配置修改
代码修改
所以是jdk版本不一致,导致编译差异,所以服务器报错。
解决方法有几个,选一个就可以了:
1.修改服务器中的jdk版本(没有参考,自己搜搜哈,把服务器和本地的改一致就行了)
2.修改mysql中的配置和jdbc连接时配置
3.修改代码,将代码中java.util.Date包改为java.sql.Date,其它调用该属性的,转换一下参数。