实际开发中,因为各种各样的原因你可能无法直接访问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结尾的域名访问都不要通过代理。