1、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地址。
2、指定依赖
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']) 即可。
3、参考文章
https://my.oschina.net/pingjiangyetan/blog/423380