编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

maven设置http代理

实际开发中,因为各种各样的原因你可能无法直接访问maven的中央仓库,比如网络运营商,或者你所在的公司基于安全因素考虑,这种情况下,你就无法下载资源了。

怎么确定你是否可以访问maven的中央仓库?

在命令行中输入

ping repo1.maven.org

如果出现类似以下信息,则说明你是可以访问maven中央仓库的

来自 199.27.79.209 的回复: 字节=32 时间=213ms TTL=45
来自 199.27.79.209 的回复: 字节=32 时间=213ms TTL=45
来自 199.27.79.209 的回复: 字节=32 时间=213ms TTL=45
来自 199.27.79.209 的回复: 字节=32 时间=214ms TTL=45

如果出现类似以下信息,则说明你是不能访问maven中央仓库的

Ping 请求找不到主机 repo1.maven.org。请检查该名称,然后重试。

怎么找http代理,以及怎么确定http代理是否可用

找http代理很简单,你只需要在百度中输入关键字免费代理IP即可。需要注意的是代理是有时效性的,我们使用前首先要验证该代理是否可用,那么怎么验证代理是否可用呢?

在命令行窗口输入

telnet 117.79.131.109 8080

如果无法访问返回如下信息

正在连接117.79.131.109...无法打开到主机的连接。 在端口 8080: 连接失败

如果可以访问,则会进入telnet窗口(注意窗口的标题变成了telnet 117.79.131.109)

如何配置maven的http代理

代理ip验证可用后,可以配置settings.xml这个文件,配置信息如下

<proxies>  
	<proxy>  
          <id>demo-proxy</id>  
          <active>true</active>  
          <protocol>http</protocol>  
          <host>117.79.131.109</host>  
          <port>8080</port>  
          <!--  
            <username>username</username>  
            <password>password</password>  
            <nonProxyHosts>  
              www.baidu.com|*.google.com  
            </nonProxyHosts>  
          -->  
        </proxy>  
      </proxies> 

下面我们解释下配置的意思

proxy是可以有多个的,如果设置多个proxy,只有第一个被激活的proxy会生效。

id中的demo-proxy是唯一的,active设置为true表示激活该proxy,protocol表示使用的代理协议,host是主机名,prot是端口,如果代理服务器需要验证时就需要配置username和password了,nonProxyHost元素用来指定哪些主机不需要代理,可以使用"|"符号来分隔多个主机名。此外,该配置也支持通配符,如:*.google.com表示所有以google.com结尾的域名访问都不要通过代理。

未经允许不得转载: 技术文章 » 项目管理 » maven设置http代理