[Maven]Nexus自建伺服切换地址之后遇到的问题

    技术2025-01-30  5

    背景:公司有自建的nexus伺服,需要从老的地址 http://svn.xxxx:8081 (老地址) 切换到新的域名 (http://nexus.xx)。 过渡期已经有一两年了,最近老地址的机器要退了,所以必须迁移到新机器,记录下遇到的问题。

    Nexus 使用

    公司内部的开发,测试,以及发布都统一的Nexus仓库,包括Java服务端,安卓。

    下面说的502,是无法从老地址下载的一种统称

    问题和解决

    1 需要更怎么更新配置呢 主要包括repositories pluginRepositories 节点中url的变更

    2 哪些地方需要更新配置呢? 算是checklist,需要自查下

    RD QA的本地使用的电脑的 nexus settings.xml中的相关配置编译机中 setting.xml的相关配置检查项目中的 pom.xml 或者是 parent pom.xml 中是否配置了nexus的地址

    也就是容易被人找来问到的

    1 很难及时通知或者周知到所有人 地址切换从过渡期开始就发过多次邮件,老地址彻底下掉的时候通过 tech邮件组和IM广播也多次通知,还是有少部分同学没有修改。本地编译打包之后遇到502错误,来咨询。 这种情况告知就好,现在没有说能在maven或者idea的插件中能做到,主动通知更新。

    邮件,IM多次周知CM或者DEV wiki中及时更新模版

    2 项目pom 或者父pom中定义了nexus远程地址,导致502访问不到

    这种通过生成 effective pom 或者通过IDE的插件来检查就好。有些部门或者项目确实这么定义的,可能是要同时对接几个内部的伺服,用来做区分的。

    mvn help:effective-pom -Doutput=effective_pom.xml

    3 项目中的其他依赖Jar指向了老的nexus地址, 导致某些jar的依赖 502访问不到 也就是说,编译打包中的一个jar有问题,下载不到,又重定向到了老地址,需要配置下mirrors 下的 mirrorOf 属性为 *

    <mirrors> <mirror> <id>TEST</id> <name>TEST Public Mirror</name> <url>http:/xxxx/nexus/content/groups/public</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors>

    好了,就这些,比较小众的事情,希望对你又帮助。

    Processed: 0.008, SQL: 9