谈一谈 Gradle 的仓库(Repositories)

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

 

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值