记一个jar包里依赖的release包和maven仓库包不一致的问题

一个二方包发布不规范污染其他编译任务的问题。

问题定位

  1. 对比线上环境部署jar包依赖的二方包和公司maven仓库的release包不一致
  2. 查询远程仓库上传记录,最近没有新的提交,同时公司仓库已经设置release包是不能重复上传
  3. 查询构建机器的本地仓库,发现本地仓库的release包和远程仓库的release包不一致,时间戳也比远程仓库的新。
  4. 查询二方包发布记录,发现有上传相同relase版本号的失败任务,时间戳也基本一致。原因是 maven构建生命周期里deploy前面是install,上传失败但是install是成功的,这导致本地仓库.m2下相同release包被替换掉,在其他应用编译时发现本地仓库有相同relase版本号的jar就不会从远程仓库更新下载。

解决方案

  1. mvn deploy 增加参数 -Dmaven.install.skip=true
  2. 分离部署使用的编译机器和发布二方包的机器
  3. release包发布前先检查远程仓库是否已存在,提前校验。若存在,编译前就终止任务。

本文作者:phylee

本文链接:https://phylee.github.io/2020/maven-error-release.html

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

ESC 关闭 | 导航 | Enter 打开
输入关键词开始搜索