前几天遇到一个诡异的问题,按照正确的spring和mybatis配置,使用jekins把项目发到测试环境,结果在调用查询服务的时候,报mapper方法找不到的错误(org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)),改了半天的项目配置,还是没用(mapper部分是新加的功能,之前没有)。
就在快要放弃的时候,我查了下jekins的发布记录,从里面看到一些这种信息:
15:36:03 tar: ./WEB-INF/web.xml: time stamp 2017-07-26 15:35:43 is 86.289093568 s in the future
大概意思是解压的时候发现要解压的文件是在未来的,于是就解压失败了。
网上也有相关内容说明这个事情:
到服务器上看了下,发现服务器时间比正常时间要晚90秒左右,且同步不过来(这个暂时没有去解决)。
那么还有一种解决办法是tar命令加上-m参数,跳过时间检查,找qa修改了发布脚本,重新发布就成功了!