Maven学习笔记三:Maven设置HTTP代理

朴灿烈づ我的快乐病毒、 2023-10-16 20:09 113阅读 0赞



Maven设置HTTP代理

-————-

有时候你所在的公司基于安全因素考虑,要求你使用通过安全认证的代理访问因特网。这种情况下,就需要为Maven配置HTTP代理,才能让它正常访问外部仓库,以下载所需要的资源。首先确认自己无法直接访问公共的maven中央仓库,直接运行命令ping repo1.maven.org可以检查网络。如果真的需要代理,先检查一下代理服务器是否畅通。比如现在有一个IP地址为218.14.227.197,端口为3128的代理服务,我们可以运行telnet 218.14.227.197 3128来检测该地址的该端口是否畅通。如果得到出错信息,需要先获取正确的代理服务信息,如果telnet连接正确,则输入ctrl+],然后q,回车,退出即可。

检查完毕之后,编辑~/.m2/settings.xml文件(如果没有该文件,则复制$M2_HOME/conf/settings.xml)。添加代理配置如下:

  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结尾的域名访问都不要通过代理。

发表评论

表情:
评论列表 (有 0 条评论,113人围观)

还没有评论,来说两句吧...

相关阅读

    相关 maven设置http代理

    公司基于安全需要通过代理访问因特网,这种情况需要为maven配置HTTP代理 检查: 1、能否访问Maven中央仓库,可以访问中央仓库则不需代理 2、代理服务是否畅

    相关 maven学习

    生命周期和插件 > 包括项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成 > maven的生命周期是抽象的,这意味着生命周期本身不做任何实际工作。