gradle仓库
首先,Repository 是什么?Repository 是 文件的集合,这些文件,通过group、name和version 组织起来。在使用上,主要体现为jar 和 xml文件。
Gradle 通过这些Repository 找到外部依赖(external dependencies.)
Gradle 并不默认指定任何仓库。它支持很多仓库,如maven、ivy,通过文件访问或者通过HTTP 访问。下面举例说明:
1.使用本地maven 仓库:
repositories {
//本地库,local repository(${user.home}/.m2/repository)
mavenLocal()()
}
2.使用远程maven 仓库:
repositories {
//Maven中心库(http://repo1.maven.org/maven2)
mavenCentral()
}
3.使用本地的ivy 仓库:
repositories {
ivy {
// URL can refer to a local directory
url "../local-repo"
}
}
4.使用远程的ivy 仓库:
repositories {
ivy {
url "http://repo.mycompany.com/repo"
}
}
一个工程可以使用多个仓库。那么问题来了,怎么寻找dependency呢?
Gradle是这么做的:按照你在文件中(build.gradle)仓库的顺序寻找所需依赖(如jar文件),如果在某个仓库中找到了,那么将不再其它仓库中寻找。
Gradle使用与Maven相同的策略去定位本地Maven缓存的位置。如果在settings.xml中定义了本地Maven仓库的地址,则使用该地址。在USER_HOME/.m2下的settings.xml文件中的配置会覆盖存放在M2_HOME/conf下的settings.xml文件中的配置。如果没有settings.xml配置文件,Gradle会使用默认的USER_HOME/.m2/repository地址。
使用多个仓库:
下面抄录了一些会用到的仓库地址,可以斟酌的配置到项目中,可以配置多个,但千万别把这些一股脑地都放到自己的项目中。用不了,还耽误搜索时间。
repositories {
maven { url "https://jitpack.io" }
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
maven { url 'http://maven.oschina.net/content/groups/public/' }
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
maven { url "http://maven.springframework.org/release" }
maven { url "http://maven.restlet.org" }
maven { url "http://mirrors.ibiblio.org/maven2" }
maven {
url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"
}
maven { url 'https://maven.fabric.io/public' }
maven {
url "http://mvn.leancloud.cn/nexus/content/repositories/public"
}
mavenCentral()
jcenter()
google()
}
- jcenter在国内的话,基本没人使用了,当然作为android开发者24小时翻墙,是可以用得。。
- 这里非常推荐使用阿里云(aliyun),速度,那叫一个快。。。
- 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" }
指定依赖
1. 依赖仓库中的jar
compile 'group:name:version'
2. 依赖本地jar文件夹,其中libs是项目根目录下的文件夹
compile fileTree(dir, 'libs' ,include : ['*.jar'])
3. 依赖本地单个jar文件
compile file('libs/xxx')
4. 依赖工程
compile project(:xx:xx)
idea+gradle如何解决gradle下载不了jar包:
可以手动下载相关的额jar包,并放在根目录下的libs文件夹下,然后在build.gradle中添加
compile fileTree(dir, 'libs' ,include : ['*.jar']) 即可。
转自1:https://blog.csdn.net/u011216417/article/details/73480899
转自2:https://blog.csdn.net/csdnlijingran/article/details/80612363