1. 程式人生 > 其它 >Maven配置build failure的解決方案

Maven配置build failure的解決方案

技術標籤:筆記

前段時間,領導找到一臺舊機準備當做伺服器來做試驗。我奉命安裝配置了Java,Eclipse,Maven,Mysql。
按照教程下載,解壓,安裝,設定環境變數,在Eclipse配置Maven之後,自以為差不多了,畢竟java -version,mvn -v之類一切正常,結果領導一個mvn help:system給我打趴下了。
鮮紅的BUILD FAILURE一點都不紅紅火火。
於是本小白一邊搞著視訊,一邊開始了對問題的探索。
————
這是很乾淨的一臺機器。
系統:win7 x64
網路:公司內網【←問題根源就是它】

按照顯示的ERROR,度娘給了我一千種相似的解決辦法:

1.在maven所在的路徑下,conf資料夾中,找到settings.xml。
2.修改中的,把映象改成阿里雲的。這一步的答案裡有很多種映象,意思都是把國外的改成國內。maven.aliyun.com的,還有repo1.maven.org的等等。
然而我最初的檔案裡就用的阿里雲的,因此修改後仍然無效。

那麼問題來了,到底是什麼原因?我又核對了環境變數,改了倉庫位置,甚至Eclipse裡也對Maven的配置再次確認,一切都如此正常,奈何依舊failure。

研究之餘中有個小插曲:我在工作站肝視訊,旁邊的電腦突然連不上網。和同事搗鼓半天,我看IP地址不是內網的,結合系統診斷推測是路由器的毛病。回頭給管理打電話,發現是網線被碾了+路由器上的埠被上頭鎖定(然而由於之前連不上,插在了其他埠)的緣故。

肝完視訊回來後的我決定好好琢磨一下。
很顯然這麼多warning error我是看不懂的……先理解下過程吧,看看哪個環節會出問題。
help:system是讓Maven從映象的中央倉庫裡下載jar包等到預設/指定路徑本地倉庫的過程。(http傳送get請求?)
相同錯因,答案裡的共同點都是網路部分,無法訪問國外網路映象導致的,也就是還沒到下載部分就失敗。
突然想起來在研究連不上網的電腦時,感嘆了一下win10可以直接在小齒輪裡設定代理,而不一定要在瀏覽器Internet設定的局域網裡設定,也不知道是不是整機都遵從。
……代理?
對哦,我的win7只設置了瀏覽器代理,但是Maven的下載需要訪問外網,它又不通過瀏覽器——

於是我找到給Maven設定代理的辦法:
1.開啟settings.xml。
2.找到中的,
把預設的註釋標記刪除,新增代理資訊。
(因為我們內網不涉及使用者登陸,不涉及訪問內網伺服器,這裡給註釋掉。*是代理地址。)

<proxies>
    <proxy>
       <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <!--<username></username>
      <password></password>-->
      <host>10.*.*.*</host>
      <port>8080</port>
      <!--<nonProxyHosts>local.net|some.host.com</nonProxyHosts>--> 
     </proxy> 
</proxies>

3.再次嘗試。
顫抖著手點開winR,cmd,mvn system:help一氣呵成!
成功!!
————
反思:
打工人打工魂,謹記自己是內網人。
每一個步驟是幹什麼的,瞭解清楚就有思路了。
2020.12.11