软件项目很少独立工作。项目通常依赖于库中的可重用功能。一些项目将不相关的功能组织到模块化系统的不同部分中。
依赖管理是一种自动化的技术,用于声明、解析和使用项目所需的功能。
有关依赖管理术语的概述,请参阅 依赖管理术语。 |
Gradle 中的依赖管理
图 1. 依赖管理一览
Gradle 内置了对依赖管理的支持。
让我们借助一个理论上的但常见的项目来探索主要概念
-
此项目构建 Java 源代码。
-
一些 Java 源文件从 Google Guava 库导入类。
-
此项目使用 JUnit 进行测试。
Gradle 构建文件可能如下所示
示例 1. 带有依赖项的 Gradle 构建文件
build.gradle.kts
plugins {
`java-library`
}
repositories { (1)
google() (2)
mavenCentral()
}
dependencies { (3)
implementation("com.google.guava:guava:32.1.2-jre") (4)
testImplementation("junit:junit:4.13.2")
}
build.gradle
plugins {
id 'java-library'
}
repositories { (1)
google() (2)
mavenCentral()
}
dependencies { (3)
implementation 'com.google.guava:guava:32.1.2-jre' (4)
testImplementation 'junit:junit:4.13.2'
}
1 | 在这里,我们为项目定义存储库。 |
2 | 此处我们为依赖项位置声明远程和本地存储库。
您可以声明存储库,以告知 Gradle 从何处获取本地或远程依赖项。 |
3 | 此处我们定义项目使用的依赖项。 |
4 | 此处我们在作用域内声明特定的依赖项名称和版本。
您可以从外部库(如 |
存储库提供多种格式的依赖项。有关 Gradle 支持的格式的信息,请参阅依赖项类型。
元数据描述依赖项。元数据的一些示例包括
-
在存储库中查找依赖项的坐标
-
有关创建依赖项的项目的信息
-
依赖项的作者
-
依赖项正常工作所需的其它依赖项,称为传递依赖项
图 2. 构建扫描依赖项报告