记录 Maven Nexus不下载最新SNAPSHOT jar的问题
摘要
遇到一个奇怪的问题,Maven 私服发生过迁移。同一个域名,但是IP发生变化,例如 10.1.0.1,迁移到了10.1.0.2。
现象是Maven总是从旧的10.1.0.1 Nexus私服下载jar包。
排查
- mvn 加上-X参数,检查 nexus私服 域名是否正确。
- 检查所有 settings.xml 文件,私服域名是否正确。
- 删除本地local缓存
- 检查DNS解析是否正确
排查结果
- nexus 私服域名完全正确
- settings.xml 文件私服域名正确。
- 删除缓存无效
- DNS域名解析正确。
最终结论
发现settings.xml 中有一个http代理,改成active=false后正常。
<proxy>
<id>httpProxy</id>
<active>true</active>
<protocol>http</protocol>
<host>10.1.0.1</host>
<port>3128</port>
</proxy>
具体原因未深究。奇怪的是 3128 不是 nexus 的端口。
推测
由于走了HTTP代理,而代理和旧私服在同一个机器上,因而被解析到本地相同端口的Nexus服务。
即: nexus.xxx.com 因为走了 10.1.0.1代理,流量转发到 10.1.0.1, 而到这台机器后,域名失效,变成本地服务了。
解决办法
proxy配置加入 nonProxyHosts:
<nonProxyHosts>nexus.xxx.com</nonProxyHosts>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!