具体步骤
- 项目结构:假设项目结构如下,有
app
模块和 library
模块。
project
├── app
│ ├── build.gradle.kts
│ └──...
└── library
├── build.gradle.kts
└──...
- 配置
settings.gradle.kts
:在 settings.gradle.kts
文件中,包含需要依赖的模块。
include("app", "library")
- 配置依赖模块的
build.gradle.kts
:在需要依赖其他模块的模块(如 app
模块)的 build.gradle.kts
中添加依赖。
dependencies {
implementation(project(":library"))
}
常见问题及解决办法
- 模块未找到
- 问题描述:Gradle 同步失败,提示找不到指定的模块。
- 解决办法:
- 检查
settings.gradle.kts
文件中模块的名称是否正确,确保模块名称与实际模块目录名称一致。
- 确认模块是否在正确的位置,即模块目录是否在项目根目录下。
- 依赖版本冲突
- 问题描述:多个模块依赖了同一库的不同版本,导致编译错误或运行时异常。
- 解决办法:
- 使用
dependencyManagement
插件统一管理依赖版本。在项目根目录的 build.gradle.kts
中应用插件:
plugins {
id("io.spring.dependency-management") version "1.1.0"
}
dependencyManagement {
imports {
mavenBom("org.springframework.boot:spring-boot-dependencies:2.7.2")
}
}
- 对于 Kotlin 相关依赖,也可以在 `build.gradle.kts` 中定义一个变量来统一版本。
val kotlinVersion = "1.7.20"
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion")
}
- 循环依赖
- 问题描述:模块 A 依赖模块 B,模块 B 又依赖模块 A,导致 Gradle 构建失败。
- 解决办法:
- 重构代码,将相互依赖的部分提取到一个新的独立模块中,让模块 A 和模块 B 共同依赖这个新模块。
- 检查依赖关系,确保依赖关系是单向的,打破循环依赖。