面试题答案
一键面试声明Kotlin库的依赖
在Gradle构建脚本(通常是build.gradle.kts
或 build.gradle
)中声明Kotlin库依赖。
对于 build.gradle.kts
:
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.7.21")
}
上述代码使用implementation
配置表示该依赖用于实现项目功能,org.jetbrains.kotlin:kotlin-stdlib
是库的坐标,1.7.21
是版本号。
对于 build.gradle
:
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.7.21'
}
处理不同版本依赖冲突问题
- 查看依赖树:运行
./gradlew dependencies
命令查看项目的依赖树,找出冲突的依赖及其版本。例如在build.gradle.kts
项目中,在终端执行该命令后,会输出项目中所有依赖关系,通过搜索冲突依赖的关键字,可定位冲突信息。 - 强制指定版本:在
build.gradle.kts
中:
configurations.all {
resolutionStrategy {
force("org.jetbrains.kotlin:kotlin-stdlib:1.7.21")
}
}
这会强制项目使用指定版本的kotlin-stdlib
库,覆盖其他地方引入的不同版本。在build.gradle
中:
configurations.all {
resolutionStrategy {
force 'org.jetbrains.kotlin:kotlin-stdlib:1.7.21'
}
}
- 排除依赖:如果某个模块引入了不需要的依赖版本,可以将其排除。例如,假设
moduleA
引入了不想要的kotlin-stdlib
版本,在build.gradle.kts
中:
implementation("com.example:moduleA:1.0") {
exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib")
}
在build.gradle
中:
implementation('com.example:moduleA:1.0') {
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib'
}
这样就排除了moduleA
对org.jetbrains.kotlin:kotlin-stdlib
的依赖,项目可以使用其他地方引入的正确版本。