maven3實戰之設置HTTP代理

maven3實戰之設置HTTP代理

----------

 

有時候你所在的公司基於安全因素考慮,要求你使用通過安全認證的代理訪問因特網。這種情況下,就需要爲Maven配置HTTP代理,才能讓它正常訪問外部倉庫,以下載所需要的資源。首先確認自己無法直接訪問公共的maven中央倉庫,直接運行命令ping repo1.maven.org可以檢查網絡。如果真的需要代理,先檢查一下代理服務器是否暢通。比如現在有一個IP地址爲218.14.227.197,端口爲3128的代理服務,我們可以運行telnet 218.14.227.197 3128來檢測該地址的該端口是否暢通。如果得到出錯信息,需要先獲取正確的代理服務信息,如果telnet連接正確,則輸入ctrl+],然後q,回車,退出即可。

檢查完畢之後,編輯~/.m2/settings.xml文件(如果沒有該文件,則複製$M2_HOME/conf/settings.xml)。添加代理配置如下:

 

Xml代碼  收藏代碼
  1. <settings>  
  2.   ...  
  3.   <proxies>  
  4.     <proxy>  
  5.       <id>my-proxy</id>  
  6.       <active>true</active>  
  7.       <protocol>http</protocol>  
  8.       <host>218.14.227.197</host>  
  9.       <port>3128</port>  
  10.       <!--  
  11.         <username>***</username>  
  12.         <password>***</password>  
  13.         <nonProxyHosts>  
  14.           repository.mycom.com|*.google.com  
  15.         </nonProxyHosts>  
  16.       -->  
  17.     </proxy>  
  18.   </proxies>  
  19.   ...  
  20. </settings>  

 

這段配置十分簡單,proxies下可以有多個proxy元素,如果聲明瞭多個proxy元素,則默認情況下第一個被激活的proxy會生效。這裏聲明瞭一個id爲my-proxy的代理,active的值爲true表示激活該代理,protocol表示使用的代理協議,這裏是http。當然,最重要的是指定正確的主機名(host元素)和端口(port元素)。上述xml配置中註釋掉了username,password,nonProxyHosts幾個元素。當代理服務需要認證時,就需要配置username和password。nonProxyHost元素用來指定哪些主機不需要代理,可以使用"|"符號來分隔多個主機名。此外,該配置也支持通配符,如:*.google.com表示所有以google.com結尾的域名訪問都不要通過代理。

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