为IDEA配置 HTTP Proxy
在用idea编译一些开源项目的时候,我们经常会遇到拉取不到依赖包的情况。由于墙太高了,我在编译某个项目的时候也遇到了这种情况:
一直卡在这里,我们发现是jetbrains.com
连不上,为了解决这个问题,我们需要对idea配置一下科学上网,我们打开idea的settings
界面,找到Http Proxy配置,如下图:
在这里选择Manual proxy configuration
,填写代理的IP和端口即可,最后一个输入框记得填写无需代理的域名,方便墙内的网站可以快速访问。 这里我是使用了lantern
的代理,可以在蓝灯的设置界面中找到代理的IP和端口号: ![](https://cdn.itzhai.com/20181130111453.png-itzhai)
为Gradle设置国内镜像仓库
在项目的build.gradle
文件中添加仓库地址配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'} } dependencies { classpath 'com.android.tools.build:gradle:2.2.3'
} }
allprojects { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'} } }
|
如果要全局剩下,则需要到用户目录下的 .gradle 目录下面创建一个 init.gradle
文件,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| allprojects{ repositories { def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public' def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter' all { ArtifactRepository repo -> if(repo instanceof MavenArtifactRepository){ def url = repo.url.toString() if (url.startsWith('https://repo1.maven.org/maven2')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL." remove repo } if (url.startsWith('https://jcenter.bintray.com/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL." remove repo } } } maven { url ALIYUN_REPOSITORY_URL url ALIYUN_JCENTER_URL } } }
|
如果Idea开启了HTTP Proxy
,可以在No proxy for
规则里面添加阿里云域名,让阿里云域名的请求直接走墙内网络即可:
192.168., 172.22., *.aliyun.com
References
gradle配置国内镜像