Gradle更换maven仓库

来源:互联网 发布:java文件下载实例 编辑:程序博客网 时间:2024/05/21 17:13

文章背景:一. Gradle源仓库(repositories)是什么东西,有什么用? Gradle 源仓库(repositories)实际上复用了Maven的 源仓库(repositories)。 源仓库,主要用于托管项目构建输出和依赖组件的一个软件仓库。

第一步优化, mavenLocal()和mavenLocal(),

  1. 根据gradle官方的userguide, 大概意思是说使用mavenLocal()配置maven的本地仓库后,gradle默认会按以下顺序去查找本地的仓库:USER_HOME/.m2/settings.xml >> M2_HOME/conf/settings.xml >> USER_HOME/.m2/repository。所以,先配置mavenLocal(),gradle会优先从本地加载依赖。
  2. mavenCentral(),
    这个官方仓库默认是通过https来访问的。很可能在国内无法正常使用。如果你无法正常从源仓库拉取依赖包,有个解决办法,改用http访问,如下,根据自己需要添加相应的库
maven { url "http://oss.sonatype.org/content/repositories/snapshots" }jcenter { url "http://jcenter.bintray.com/"}maven { url "http://repo1.maven.org/maven2"}maven { url "https://jitpack.io" }

step2, 终极优化

对于国内用户,还是选择阿里云的Maven库吧!

  • 方法一:将将build.gralde
repositories {    mavenCentral()}

更换如下:

allprojects {    repositories {        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}    }}

此方法仅针对当前项目生效。

  • 方法二:在用户目录中的.gradle文件夹中新建init.gradle文件,我的MAC目录是:/Users/Tteng/.gradle,将下面代码粘贴进去,不过需要建立一个环境变量GRADLE_USER_HOME,指向你gradle的家目录,并且重启计算机,我的是:GRADLE_USER_HOME=/Users/Tteng/usr/local/gradle-4.1
allprojects{    repositories {        def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'        all { ArtifactRepository repo ->            def url = repo.url.toString()            if ((repo instanceof MavenArtifactRepository) && (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com'))) {                project.logger.lifecycle 'Repository ${repo.url} replaced by $REPOSITORY_URL .'                remove repo            }        }        maven {            url REPOSITORY_URL        }    }}

gradle初始化原理: gradle 生命周期中有一个叫 初始化( Initialization )的过程,这个过程运行在 build script 之前,我们可以在这个地方做一点系统全局的设置,就比如配置仓库地址
你可以在这些地方使用你的初始化脚本:如下方法也可行,
1. 放一个init.gradle 文件到USER_HOME/.gradle/目录下
2. 放一个init.gradle文件到 USER_HOME/.gradle/init.d/ 目录下
3. 放一个init.gradle文件到 GRADLE_HOME/init.d/ 目录下.
给大家看下实际运行效果,大家看最下面,已经是从Aliyun的maven库中下载了!推荐大家使用第二种方法,一劳永逸。这里写图片描述

这种解决方法是对所有项目生效的。
当然如果你发现了,更好的maven仓库地址,你也可以将以上的阿里云的服务器地址换成你想要的地址。

文章参考
http://www.jianshu.com/p/ac4b7302200b
https://yq.aliyun.com/articles/58237

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 住了酒店的尾房怎么办 喜欢前任的闺蜜怎么办 闺蜜给介绍对象怎么办 喜欢对象的发小怎么办 山东省直医保卡丢失怎么办 高铁票如果错过了怎么办 动车错过了时间怎么办 长途动车错过了怎么办 动车如果错过了怎么办 没有取票错过了怎么办 动车出站没检票怎么办 火车晚点耽误了下班车怎么办 动车票中途丢了怎么办 购买二手房异地铁路公积金怎么办 沈阳公积金卡丢了怎么办 住宅专项维修资金用完了怎么办 广州出租车丢了东西怎么办 广州的士丢了东西怎么办 网上找兼职被骗了怎么办 海信空调开不了机怎么办 海信空调遥控器开不了怎么办 学生遭套路贷反被仲裁怎么办 赏脸打错字尝脸怎么办 红掌的花变黑了怎么办 红掌花苞发黑了怎么办 水培植物腐根了怎么办 水培绿萝水发臭怎么办 水里养花根烂掉怎么办 桅子花叶子发黑怎么办 大株月季烂根怎么办 月季水浇多了烂根的怎么办 金桔盆栽烂根怎么办 盆栽的长寿果树烂根怎么办 家里的石榴烂根怎么办 山桔盆栽烂根怎么办 养的植物烂根怎么办 桅子花叶子长霉怎么办 紫薇花叶子干了怎么办 高层玻璃阳台往下看恐高怎么办 比熊放阳台叫怎么办 海员入职体检不合格怎么办