Gradle中依赖的仓库

仓库是什么?

顾名思义,仓库就存放东西的. 放什么东西呢? 简单来说就是存放我们依赖的jar包.

Gradle支持哪些仓库?

  • Maven仓库
  • Ivy仓库
  • 平级目录仓库

如何在构建中加入这些仓库?

Ivy仓库应该用的人不多吧,这里就不多作介绍了,重点放在maven仓库上.

在build.gradle中添加仓库的声明,方法如下:

从Maven仓库中获取依赖

  1. repositories {
  2. 1.从指定的远程maven仓库中获取依赖
  3. maven {
  4. url "http://maven.helloword.net/repo"
  5. }
  6. 2.从指定的本地maven仓库中获取依赖
  7. maven {
  8. url "file:///Users/bixiaopeng/mvn"
  9. }
  10. 3.从中央Maven仓库中获取依赖
  11. mavenCenter()
  12. 4.从新的中央远程仓库中获取依赖
  13. jcenter()
  14. 5.从本地仓库中获取依赖
  15. mavenLocal()
  16. 6.需要认证的库
  17. maven {
  18. credentials {
  19. username 'user'
  20. password 'password'
  21. }
  22. url "http://repo.helloword.com/maven2"
  23. }
  24. }

Maven仓库的三种别名

为了更加方便的加入Maven仓库, Gradle为我们提供了3种别名,分别是:

1.mavenCentral():

表示从maven中央仓库中获取依赖 地址: http:\/\/repo1.maven.org\/maven2

2.jcenter():

jcenter是一个新的远程中央仓库,兼容maven中央仓库,而且性能更优.

gradle默认使用jcenter作为仓库.

jcenter存放在这里:https:\/\/bintray.com\/

3.mavenLocal():

表示从本地Maven仓库中获取依赖。 本地地址: {user.home}\/.m2\/repository

从平级目录仓库中获取依赖

从本地目录中获取依赖,在build.gradle中添加:

  1. repositories {
  2. //从当前项目的平级目录lib中获取依赖
  3. flatDir(dir: 'lib', name: 'libs directory')
  4. //从当前项目的平级目录libA和libB中获取依赖
  5. flatDir {
  6. dirs 'libA', 'libB'
  7. name = 'All dependency directories'
  8. }
  9. }