📜  build.gradle 中的依赖管理与依赖关系 (1)

📅  最后修改于: 2023-12-03 15:13:43.742000             🧑  作者: Mango

构建脚本的依赖管理与依赖关系

在使用 Gradle 进行构建时,构建脚本由一些任务和插件组成。这些组件的实现是通过依赖关系的方式来实现的。在构建脚本中,Gradle 使用依赖管理系统来自动管理依赖项。这个系统基本上是通过在 build.gradle 文件中声明依赖项来实现的。

依赖项

简单来说,依赖项是指您的代码需要使用的所有库和框架。这些库和框架可以是 Maven 中央存储库中的公共库,也可以是您本地仓库中的自定义库。Gradle 通过依赖关系来确定您的代码需要使用哪些库和框架。在 build.gradle 文件中声明依赖项非常简单,如下所示:

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web:2.3.0.RELEASE'
    testImplementation 'junit:junit:4.12'
}

Gradle 中依赖声明包括三个基本信息:依赖项的组名、名称和版本。如上述代码所示,“org.springframework.boot”表示组名,”spring-boot-starter-web”表示名称,”2.3.0.RELEASE”表示版本。TestCompile 依赖项和 Compile 依赖项是最常见的依赖项类别。另外,Gradle 还支持多个作用域,包括运行时,测试运行时和可选的运行时。

依赖管理

Gradle 的依赖管理系统需要遵循一些依赖管理规则来创建依赖关系。Gradle 会搜索您的项目和依赖项中的 artifacts,以解析和连接依赖项。以下是一些依赖管理的基本规则:

  • Gradle 会根据您对依赖项声明的顺序来解决依赖性。
  • Gradle 会根据 artifact 文件名称和版本号解析依赖项。
  • Gradle 将公共库保存在本地仓库中,以便之后使用。
  • 如果用户在 build.gradle 文件中添加了依赖项,Gradle 将会自动下载依赖包,并添加到您的项目中。
依赖关系

Gradle 的依赖关系不同于 Maven 的依赖关系。在 Gradle 中,您可以使用任何您认为合适的依赖项,因为 Gradle不像Maven会强制使用传递性依赖项。这意味着您可以控制项目的依赖关系,使其加快构建速度和优化构建过程。此外,Gradle 还支持将依赖项设置为 "transitive" 或是 "non-transitive" 的方式,这有助于另外一个项目使用您的依赖项时获得更好的控制力。

结论

Gradle 的依赖管理系统使得简化依赖管理和构建过程的实现变得成为可能。因此,了解构建脚本的依赖管理和依赖关系,以及使用 Gradle build.gradle 声明依赖项是非常重要的。我们鼓励开发人员仔细研究 Gradle 的依赖管理以及如何使用 Gradle 管理您的构建过程。