1. 程式人生 > >Maven基礎(3):代理設定方式

Maven基礎(3):代理設定方式

在這裡插入圖片描述
在很多場景下,maven不能直接訪問到外網時,使用代理是其中常見的一種方式。這篇文章整理一下常見的maven中設定代理的方法。

代理伺服器

代理伺服器的搭建,可以使用nginx,或者更為專業一點的使用squid,輕鬆實現http和https方式。具體方式可以參看如下文章:

代理伺服器設定 詳細設定方法
nginx https://blog.csdn.net/liumiaocn/article/details/80502352
suqid https://blog.csdn.net/liumiaocn/article/details/80586879

maven代理伺服器設定

方法1: 設定settings.xml

通過設定全域性或者區域性的proxy段即可設定代理伺服器,一般為注視掉。使用例:

  <proxies>
      <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>使用者名稱</username>
      <password>使用者密碼</password>
      <host>ip或者代理伺服器的url</host>
      <port>埠</port>
      <nonProxyHosts>無需使用代理訪問的地址</nonProxyHosts>
    </proxy>
  </proxies>
  • 設定說明
設定項 說明
id proxy的id,proxy可以有多個,根據id唯一確認proxy
active 多個proxy,active的只能有一個,根據此項進行設定
protocol 協議,可設定為https或者http以及socks5等
username proxy的使用者名稱,沒有的無需設定
password proxy的使用者密碼,沒有的無需設定
host proxy的IP或者訪問地址
port proxy的port埠
nonPorxyHosts 無需使用代理訪問的地址

方法2: 在mvn命令中通過-D傳入執行時設定

方法1適合與長期儲存的內容,如果需要臨時的變更性的設定或者不太方便修改pom檔案的情況下,擇適合使用這種方法進行設定,其實從根本上來說,這是JVM的設定,自然mvn也是這樣使用的。

設定選項 說明
https.proxyHost https方式的代理伺服器的hostname或者IP
https.proxyPort https方式的代理伺服器埠
http.proxyHost http方式的代理伺服器的hostname或者IP
http.proxyPort http方式的代理伺服器埠
socksProxyHost socks5方式的代理伺服器的hostname或者IP
socksProxyPort socks5方式的代理伺服器埠

使用例(https方式):mvn compile -Dhttps.proxyHost=192.168.163.118 -Dhttps.proxyPort=3128

總結

這篇文章總結了maven下如何設定代理的方式,主要是使用pom檔案設定或者執行時傳入代理伺服器資訊,都是常用的maven代理的設定方式。