设置HTTP代理
有很多时候在软件开发的现场,基于安全因素的考虑,我们可能会通过安全认证的代理访问因特网,或者客户专线访问因特网,这种情况下,就需要为Maven配置HTTP代理,才能让它正常访问外部仓库,以下载所需要的资源。
首先确认自己无法直接访问公共的Maven中央仓库,直接运行如下命令:
ping repo1.maven.org
可以检查网络。
假如现在有一个IP地址为218.14.227.197:3128
的代理服务,那么则编辑.m2/settings.xml文件。添加代理配置如下:
<settings>
……..
<proxies>
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.| -->
<proxy>
<id>my-proxy</id>
<active>true</active>
<protocol>http</protocol>
<username>代理账户</username>
<password>密码</password>
<host>218.14.227.197</host>
<port>3128</port>
<nonProxyHosts>repository.mycom.com|*.google.com</nonProxyHosts>
</proxy>
</proxies>
</settings>
<proxies>
:元素下可以由多个元素,如果声明了多个元素,则默认情况下第一个被激活·的proxy会生效。
下面对各个元素进行说明:
<id>
:用来指定代理的ID。
<active>
:值为true表示激活该代理
<protocol>
:表示使用的代理协议,这里是http
<host>
:指定代理主机名
<port>
:指定连接代理服务器的端口号
<username>
:如果需要进行代理认证,用来指定认证账户
<password>
:如果需要进行代理认证,用来指定认证密码
<nonProxyHosts>
:用来指定哪些主机的访问不需要使用代理,可以使用|
符号来分隔多个主机名,另外,该配置也支持通配符,如*.google.com表示所有以google.com结尾的域名访问都不要通过代理。