[Maven]Nexus自建伺服切换地址之后遇到的问题
Posted orangleliu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Maven]Nexus自建伺服切换地址之后遇到的问题相关的知识,希望对你有一定的参考价值。
背景:公司有自建的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
或者是 parentpom.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>
好了,就这些,比较小众的事情,希望对你又帮助。
以上是关于[Maven]Nexus自建伺服切换地址之后遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章
maven集成nexus伺服服务实现项目快速自动化构建与发布
maven集成nexus伺服服务实现项目快速自动化构建与发布
Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ⑤ ( 使用 Sonatype Nexus 搭建 Maven 仓库 )
Android Gradle 插件将自定义 Gradle 插件上传到自建 Maven 仓库 ⑥ ( 配置 Sonatype Nexus 搭建的 Maven 私服 | 配置端口号 | 配置JVM )