【Maven】Jenkins打包失败,Maven无法获取依赖问题排查1
背景
总结下工作中maven依赖引用失败的排查的过程
排查过程
从gitee上拉取了某个项目,使用Jenkins打包时出现,无法解析到某个依赖,如下图
1.首先排查Nexus私服上是否有这个包
查询Nexus,可以看到Nexus上是有这个包的,且这个包位于aliyun仓库内,如下图
2.其次,排查aliyun仓库是否有被jenkins引用到
需要查看jenkins引用的maven的settings.xml文件,这里可以通过jenkins控制台输出看到相关信息
找到服务器上的maven的settings.xml文件,部分信息如下
<profile> <id>public-snapshots</id> <repositories> <repository> <id>public-snapshots</id> <url>http://xxxx:9091/repository/maven-snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>public-snapshots</id> <url>http://xxxx:9091/repository/maven-public/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>public-snapshots</id> <url>http://xxxx:9091/repository/maven-public/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>public-snapshots</activeProfile> </activeProfiles> </settings>
可以看到settings.xml文件激活使用的仓库为maven-public,这里i需要查询这个是仓库还是仓库组,如果是仓库组,是否包含上文的aliyun仓库
maven-public信息如下,可以看到maven-public是一个仓库组,包含了4种仓库,因此maven-public是可以引用到aliyun仓库内的依赖的,还需要进一步排查
3.通过排查仓库组和仓库内依赖地址发现并没有什么问题,这里需要进一步分析为什么没有引用到这个依赖
排查后发现maven-public仓库组配置的<release>标签内没有开启对发行版本的支持,导致新项目打包时,非快照版本的包不会从仓库下载
修改配置后,开启maven-public仓库对发行版本依赖的支持,重新打包正常运行
<releases> <enabled>true</enabled> </releases>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!