Maven2ではリポジトリへのアクセスにプロキシを通す必要がある場合、
<settings> <proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>proxy.somewhere.com</host> <port>8080</port> <username>proxyuser</username> <password>somepassword</password> <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts> </proxy> </proxies> </settings>
settings.xmlには複数のプロキシ設定を記述することができるのですが有効にできるのは1つのみです。httpとhttpsのリポジトリが混在する場合に両方ともプロキシを使うということができません。少し前に会社の人に聞かれてどうしたものか…とググってみたところ以下の記事を発見。
片方のプロキシ設定をsettings.xmlに書いておいて、もう片方は以下のようにVMの起動オプションで設定しておくしかないみたい。実際にこれでうまく動いていました。
set MAVEN_OPTS=-Dhttps.proxyHost=<host> -Dhttps.proxyPort=<port>
Maven3だとどうなっているんだろう。まあ、これ上の記事を見る限りMaven本体の問題というよりwagon-http-lightweightの問題のような気がしますが…。