Maven:设置HTTP代理

前言

在比赛中因为用的学校的服务器,学校的服务器又是在内网,所以maven报错。
在网上搜索这个解决办法
转自https://blog.csdn.net/netwalk/article/details/19129033

对于许多因为安全等方面因素考虑而不能随意访问外网的局域网PC则无法访apache的中央仓库,这就需要在局域网内配置一台代理服务器,需要为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文件(如果没有该文件,则复制$M2_HOME/conf/settings.xml)。找proxies这个节点,添加代理配置如下:


  
  
  1. <settings>
  2. ...
  3. <proxies>
  4. <proxy>
  5. <id>my-proxy </id>
  6. <active>true </active>
  7. <protocol>http </protocol>
  8. <host>218.14.227.197 </host>
  9. <port>3128 </port>
  10. <!--
  11. <username>***</username>
  12. <password>***</password>
  13. <nonProxyHosts>
  14. repository.mycom.com|*.google.com
  15. </nonProxyHosts>
  16. -->
  17. </proxy>
  18. </proxies>
  19. ...
  20. </settings>

 

这段配置十分简单,proxies下可以有多个proxy元素,如果声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效。这里声明了一个id为my-proxy的代理,active的值为true表示激活该代理,protocol表示使用的代理协议,这里是http。当然,最重要的是指定正确的主机名(host元素)和端口(port元素)。上述xml配置中注释掉了username,password,nonProxyHosts几个元素。当代理服务需要认证时,就需要配置username和password。nonProxyHost元素用来指定哪些主机不需要代理,可以使用"|"符号来分隔多个主机名。此外,该配置也支持通配符,如:*.google.com表示所有以google.com结尾的域名访问都不要通过代理。

 

各个节点具体解析如下:


 
 
  1. <proxies>
  2. </proxies>

这个节点下面可以配置多台代理


  
  
  1. <proxy>
  2. </proxy>
  3. <proxy>
  4. </proxy>

 

如果声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效

 

具体配置:


 
 
  1. <proxy>
  2. <!-- 唯一标识 -->
  3. <id>my-proxy </id>
  4. <!-- 指这个代理是否被激活,比如上面提到有多个代理,则会寻找第一个被激活的代理 -->
  5. <active>true </active>
  6. <!-- 指使用http协议访问 -->
  7. <protocol>http </protocol>
  8. <!-- 服务器的IP地址 -->
  9. <host>218.14.227.197 </host>
  10. <!-- 访问的端口号 -->
  11. <port>3128 </port>
  12. <!--
  13. <!-- 如果服务器需要验证,那么这里就需要配置用户名和密码 -->
  14. <username>*** </username>
  15. <password>*** </password>
  16. <!-- 这里制定那些域名不需要被代理 -->
  17. <nonProxyHosts>repository.mycom.com|*.google.com </nonProxyHosts>
  18. -->
  19. </proxy>


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值