maven设置http代理有什么作用

展开全部

有时候网络不能直接访问外网, 需要设置代理

设置方式如下:

一、检测本地网络是否不能直接访问Maven的远程中央仓库,命令为ping repo1.maven.org

二、要检查代理服务器是否畅通,

比如现在有一个IP地址为192.168.10.117,端口为3267的代理服务,我们需要先运行telnet  192.168.10.117 3267来检查该地址的该端口是否畅通,

如果得道出错信息需要先获取正确的代理服务器信息,

如果telnet连接正确,则输入ctrl+],然后q,回车,退出即可。三、检查完毕之后,在安装目录中编辑~/.m2/settings.xml文件,代码如下:添加代理配置如下:

 

   

    <settings>    ...   <proxies>      <proxy>         <id>my-proxy</id>         <active>true</active>         <protocol>http</protocol>         <host>192.168.10.117</host>         <port>3267</port>         <!--         <username>shihuan</username>         <password></password>         <nonProxyHosts>repository.mycom.com|*.google.com</nonProxyHosts>         -->      </proxy>    </proxies>   ...</settings>

   

    这段配置十分简单,proxies下可以有多个proxy元素,如果你声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效。

这里声明了一个id为my-proxy的代理,active的值为true表示激活该代理,protocol表示使用的代理协议,这里是http。当然,最重要的是指定正确的主机名(host元素)和端口(port元素)。

上述XML配置中我注释掉了username、password、nonProxyHost几个元素,当你的代理服务需要认证时,就需要配置username和password。

nonProxyHost元素用来指定哪些主机名不需要代理,可以使用 | 符号来分隔多个主机名。

此外,该配置也支持通配符,如*.google.com表示所有以google.com结尾的域名访问都不要通过代理。