Maven间接依赖未下载
一、问题描述
昨日收到一个告警,内容如下:
1 | 2021-11-09 15:01:04 警告, |
二、解决路径
1)依赖不存在or依赖错版本
1.1 定位net/jpountz/lz4/LZ4Factory所在Jar的Maven坐标
1 | <dependency> |
1.2 从问题主机应用的*libs/*中未发现该依赖,定位问题是包缺失。
2)定位依赖缺失原因
2.1 本地查看应用依赖树,发现lz4-xxx.jar
由kafka-clients引入
1 | $ mvn dependency:tree -Dverbose -X -U -f pom.xml | tee tree.txt |
2.2 清空本地Maven缓存,再次查看依赖树
1 | # 清空pom中依赖树中的本地缓存 |
2.3 判定私服仓库kafka-clients-0.11.0.1.pom
发生变化
私服仓库中存在两个kafka-clients-0.11.0.1.pom
,而libs-release-local
仓库的pom内容为空,如下图。
3)解决问题
联系上传人和私服管理员进行删除,打包恢复正常。
三、原因总结
1)研发把kafka-clients-0.11.0.1.jar
上传到仓库libs-release-local
,且pom.xml
未正确设置。
2)私服仓库里lib-release-local
比remote-repos
优先级高,导致maven解析了错误依赖。