推送到Maven的Jar包版本号不生效的原因跟踪
一、背景
今天对一个老的工程进行重构,发布上线后发现maven库的Jar没有更新,仔细跟踪并分析后才发现原因所在。
二、跟踪原因
先让咱们看看CI的构建日志,日志显示CI成功构建了Jar并且推送到Maven上,但是Jar的版本号并没有跟预期的一致,也就是跟着主版本号变动。图1显示Jar能够被构建成功,图2显示Jar已经成功推送到Maven上。
那么这个版本怎么来的呢?仔细分析发现,其实Jar的主版本号还是Pom中配置的一致,只是那些小版本号是因为推的是同一个版本,所以CI默认随机构建。
也就是说:CI流程没有问题,问题出现在POM配置。
三、解决办法
经过和成功案例的工程对比,发现lib module不能指定为:packaging = jar,最后把 packaging 去掉,使用默认值配置,问题得到解决。
这个解决办法有点莫名奇妙,不过希望能够帮助到大家,以此记录。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。