记一次因为maven打包引起的错误

4号清明放假前一天,快下班的时候,一个同事让过去帮忙看个问题,以为是个很简单的问题。背景描述:我们的开发环境是基于osgi框架,业务包先从开发环境经过maven打包再下载这个maven标准包。问题描述:新打好的包上到另外一个环境,一个字段没有初始化到数据库中。开始一看,感觉就是一些注意项没配置,然后都看了下,好像都做了,但是就是没初始化进去,看下日志,就是这个字段没有执行初始化操作。看了下开发环境的代码, 没问题。想着可以远程debug,但是手头的环境没有这个版本,git切一下分支也麻烦。然后就开始排错了。
 1.开发环境的代码没问题,查查字段的配置文件在不在,也在的。
 2.看下maven打的包里面,配置文件里面,这个字段在不在。咦,jar包的修改时间是2018年12月31日是什么鬼,问了下他,这个时间怎么不对啊,他说为了验证个东西,需要需改时间。看来问题就是出在这了,因为我发布了几次,理论上,这个jar的修改时间应该是4月4日下午才对,但是一直没更新,看了下jar包文件里面的字段配置文件,果然没有那个字段。然后问题找到了。
 
 前几个月,因为发布性能优化,发现maven打包的时候,clean比较耗时间,考虑到平常业务场景,不clean也没问题,然后每次打包的时候,就不clean了。package的时候,maven检测到jar时间比较新,都不会直接去package了。然后我把target文件夹删了,再重新发布下,还是报错,这次是因为java代码写的有问题,打包直接报错了,这也就验证了我之前的猜想,打包的时候,如果目标jar包时间很新,就不会package了。修改了java语法错误,再次去发布,一切ok了,那个字段也更新进去了。

说实话,新版环境的maven打包继续不会clean,但是我采用调用操作系统的命令删除文件夹的操作删除target,速度很快,但是有些win server啥的还是有点问题,这个得继续优化了。

猜你喜欢

转载自my.oschina.net/u/2618266/blog/1790712