【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>

 

posted @   听风是雨  阅读(4036)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
/* 看板娘 */
点击右上角即可分享
微信分享提示