记录 Maven Nexus不下载最新SNAPSHOT jar的问题

发布时间 2023-03-29 14:20:23作者: 一杯半盏

摘要

遇到一个奇怪的问题,Maven 私服发生过迁移。同一个域名,但是IP发生变化,例如 10.1.0.1,迁移到了10.1.0.2。

现象是Maven总是从旧的10.1.0.1 Nexus私服下载jar包。

排查

  1. mvn 加上-X参数,检查 nexus私服 域名是否正确。
  2. 检查所有 settings.xml 文件,私服域名是否正确。
  3. 删除本地local缓存
  4. 检查DNS解析是否正确

排查结果

  1. nexus 私服域名完全正确
  2. settings.xml 文件私服域名正确。
  3. 删除缓存无效
  4. 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, 而到这台机器后,域名失效,变成本地服务了。