2016-09-20 40 views
0

我有以下設置配置的主機:我有一個Maven(3.3.3)項目具有不同的依賴性:Maven的使用代理與noProxyHost

  1. 依賴關係必須從公共互聯網下載。
  2. 必須從Intranet下載的依賴項。

關於代理,他們有不同的處理:

  • 因爲Maven構建在專用Intranet發生,所有下載表格公共互聯網有通過代理進行下載。
  • Intranet中的服務器現在允許公共訪問。出於這個原因,所有來自Intranet的下載都必須在沒有代理的情況下下載。

幸運的是,內聯網服務器很容易識別,因爲它們的域名以.thecompany.org結尾。

我運行我的maven項目,並從互聯網獲取依賴關係的錯誤(因爲代理設置丟失)。

所以在我.2m/settings.xml我做的:

<proxies> 
<proxy> 
    <id>internet-proxy</id> 
    <active>true</active> 
    <protocol>http</protocol> 
    <host>proxy-server.org</host> 
    <port>8080</port> 
    <nonProxyHosts>localhost|*.thecompany.org</nonProxyHosts> 
</proxy> 
</proxies> 

現在我運行Maven,並得到從內網下載「拒絕訪問」錯誤。但是maven想要下載的文件是可以訪問的(我可以用wget來確認)。當我嘗試通過代理下載時,發生「拒絕訪問」。

所以看來,Maven正在使用代理。當我看到日誌時,我看到這個

[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for http://server.thecompany.org/somedir/ 

並且對於外部連接,它會告訴我它使用代理。

難道是Maven在不告訴我的情況下使用代理嗎?

回答