一、背景

今天对一个老的工程进行重构,发布上线后发现maven库的Jar没有更新,仔细跟踪并分析后才发现原因所在。

二、跟踪原因

先让咱们看看CI的构建日志,日志显示CI成功构建了Jar并且推送到Maven上,但是Jar的版本号并没有跟预期的一致,也就是跟着主版本号变动。图1显示Jar能够被构建成功,图2显示Jar已经成功推送到Maven上。

CI的构建日志-maven

微信图片_20201021192502.png

那么这个版本怎么来的呢?仔细分析发现,其实Jar的主版本号还是Pom中配置的一致,只是那些小版本号是因为推的是同一个版本,所以CI默认随机构建。

也就是说:CI流程没有问题,问题出现在POM配置。

三、解决办法

经过和成功案例的工程对比,发现lib module不能指定为:packaging = jar,最后把 packaging 去掉,使用默认值配置,问题得到解决。

这个解决办法有点莫名奇妙,不过希望能够帮助到大家,以此记录。