定义依赖
下面我们在build.gradle
中添加如下一段。apply
属于插件的部分,我们到后面再说。现在先来看一下Gradle中的依赖管理,有两个部分,repositories
和dependencies
。下面来逐一说明。
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
仓库
仓库使用repositories
定义,可以是maven仓库也可以是ivy仓库。比如上面使用了mavenCentral仓库。
repositories {
mavenCentral()
}
Gradle还提供了一些其他的仓库,比如jcenter仓库。
repositories {
jcenter()
}
如果要使用其他仓库,需要自定义URL,比如下面这样使用阿里云的maven镜像。
repositories {
maven {
url "http://maven.aliyun.com/nexus/content/groups/public/"
}
}
看Gradle官方文档上的说明,Gradle还支持Ivy仓库。Ivy是一个依赖管理工具,但是我看了一下Apache Ivy官网,已经2年多没更新了。因此我们只需要知道使用Maven仓库就可以了。
依赖
依赖使用dependencies
定义。比如下面的文件就定义了两个依赖项。
dependencies {
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
testCompile group: 'junit', name: 'junit', version: '4.+'
}
我们可以看到依赖有作用域。常见的几个作用域如下:
名称 | 作用 |
---|---|
compile | 在项目编译时需要 |
runtime | 在运行时需要,默认情况下也包括编译时依赖 |
testCompile | 在测试代码编译时需要 |
testRuntime | 在测试代码运行时需要,默认情况下也包括编译时依赖、运行时依赖和测试编译时依赖 |
然后就是依赖项。依赖项由三个部分,组名,项目名和版本组成。所以依赖项写作这样:
compile group: 'org.hibernate', name: 'hibernate-core', version: '3.6.7.Final'
依赖项还可以简化,直接写作group:name:version
的形式,所以还可以写成这样:
compile 'org.hibernate:hibernate-core:3.6.7.Final'
相比Maven的依赖项,这样已经是非常的简洁了。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.6.final</version>
</dependency>
Gradle的依赖项可以在https://mvnrepository.com/ 搜索,这个网站同事提供了Maven、Gradle、Ivy等多种依赖管理工具的配置,非常方便。
参考资料
https://docs.gradle.org/current/userguide/artifact_dependencies_tutorial.html