記錄 Maven Nexus不下載最新SNAPSHOT jar的問題

摘要

遇到一個奇怪的問題,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, 而到這臺機器後,域名失效,變成本地服務了。

解決辦法

proxy配置加入 nonProxyHosts:

<nonProxyHosts>nexus.xxx.com</nonProxyHosts>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章