运行 grails 命令时，使用HTTP代理访问网络?
李小翔
2014-06-11 23:39

内容列表

运行grails（或g）命令时，有时候需要访问外网下载工程依赖的插件或者jar包。如果网络环境只允许通过HTTP代理访问外网，可以使用 Grails 的 add-proxy、set-proxy 等命令来设置代理服务器。如：
$ g add-proxy BOE_B1 --host=10.20.1.1 --port=8080
| Added proxy BOE_B1 to /home/bropen/.grails/ProxySettings.groovy
$ g set-proxy BOE_B1
| Proxy set to [BOE_B1]
将添加一个名为 BOE_B1 的代理服务器，并保存在 ~/.grails/ProxySettings.groovy 中；然后设置今后将使用该代理服务器来访问网络。
查看 ProxySettings.groovy 文件，其实就是两行代码：
// 代理服务器定义
BOE_B1=[’http.proxyHost’:’10.20.1.1’, ’http.proxyPort’:’8080’, ’http.proxyUser’:’’, ’http.proxyPassword’:’’, ’http.nonProxyHosts’:’’]
// 当前代理服务器
currentProxy=’BOE_B1’
此外：
· 	add-proxy 命令还支持 username 和 password 参数详细参考 grails 手册
· 	remove-proxy 命令相对 add-proxy，用来删除代理服务器
· 	clear-proxy 命令相对 set-proxy，用来取消当前的代理服务器设置
· 	注意：使用上面的几个命令都需要先校验工程依赖，因此依赖缺失的情况下（如少jar包），上述命令无法运行，此时可以手动编辑或创建 ~/.grails/ProxySettings.groovy 文件来设置或取消代理，格式参考上面的代码。