仓库

Gradle 是怎样找到那些外部依赖的文件的呢? Gradle 会在一个repository(仓库)里找这些文件. 仓库其实就是文件的集合, 通过 group, nameversion 整理分类. Gradle 能解析好几种不同的仓库形式, 比如 Maven 和 Ivy, 同时可以理解各种进入仓库的方法, 比如使用本地文件系统或者 HTTP.

默认地, Gradle 不提前定义任何仓库. 在使用外部依赖之前, 你需要自己至少定义一个库. 比如使用下面例子中的 Maven central 仓库:

例子 8.4. Maven central 仓库

build.gradle

repositories {
    mavenCentral()
}

或者使用一个远程的 Maven 仓库:

例子 8.5. 使用远程的 Maven 仓库

build.gradle

repositories {
    maven {
        url "http://repo.mycompany.com/maven2"
    }
}

或者一个远程的 Ivy 仓库:

例子 8.6. 使用远程的 Ivy 仓库

build.gradle

repositories {
    ivy {
        url "http://repo.mycompany.com/repo"
    }
}

你也可以使用本地的文件系统里的库. Maven 和 Ivy 都支持下载的本地.

例子 8.7. 使用本地的 Ivy 目录

build.gradle

repositories {
    ivy {
        // URL can refer to a local directory
        url "../local-repo"
    }
}

一个项目可以有好几个库. Gradle 会根据依赖定义的顺序在各个库里寻找它们, 在第一个库里找到了就不会再在第二个库里找它了.

可以在Section 50.6 章, “仓库”里找到更详细的信息.