Maven学习笔记二:设置HTTP代理
2014-02-12 20:21
232 查看
Maven学习笔记二:设置HTTP代理
对于许多因为安全等方面因素考虑而不能随意访问外网的局域网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这个节点,添加代理配置如下:
<settings> ... <proxies> <proxy> <id>my-proxy</id> <active>true</active> <protocol>http</protocol> <host>218.14.227.197</host> <port>3128</port> <!-- <username>***</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,nonProxyHosts几个元素。当代理服务需要认证时,就需要配置username和password。nonProxyHost元素用来指定哪些主机不需要代理,可以使用"|"符号来分隔多个主机名。此外,该配置也支持通配符,如:*.google.com表示所有以google.com结尾的域名访问都不要通过代理。
各个节点具体解析如下:
<proxies> </proxies>
这个节点下面可以配置多台代理
<proxy> </proxy> … <proxy> </proxy>
如果声明了多个proxy元素,则默认情况下第一个被激活的proxy会生效
具体配置:
<proxy> <!-- 唯一标识 --> <id>my-proxy</id> <!-- 指这个代理是否被激活,比如上面提到有多个代理,则会寻找第一个被激活的代理 --> <active>true</active> <!-- 指使用http协议访问 --> <protocol>http</protocol> <!-- 服务器的IP地址 --> <host>218.14.227.197</host> <!-- 访问的端口号 --> <port>3128</port> <!-- <!-- 如果服务器需要验证,那么这里就需要配置用户名和密码 --> <username>***</username> <password>***</password> <!-- 这里制定那些域名不需要被代理 --> <nonProxyHosts>repository.mycom.com|*.google.com</nonProxyHosts> --> </proxy>
相关文章推荐
- Maven学习笔记三:Maven设置HTTP代理
- Maven学习笔记(五)设置HTTP代理
- maven学习笔记--设置代理服务器
- Maven学习笔记--常用命令和设置
- maven学习笔记_scope设置
- maven 学习笔记(七)-(完整Android项目多渠道打包、签名、混淆进阶)
- Maven学习笔记一 ----常用命令
- Maven学习笔记(1)-Maven简介
- maven学习笔记(定制普通Java一个项目)
- maven生命周期(lifecycle)—— maven权威指南学习笔记(四)
- maven 学习笔记(二)创建一个简单的 eclipse+android+maven 工程
- Maven学习笔记
- maven学习笔记三(生命周期与插件)
- IOS学习笔记(5)——启动logo画面的设置
- maven学习笔记
- maven学习笔记
- swift学习笔记之navigationController的设置以及使用
- Maven学习笔记 -- day03 Maven整合SSH
- TCP/IP网络编程 学习笔记_2 --套接字类型与协议设置
- maven学习笔记2-------maven安装