添加buildSrc管理依赖时遭遇Kotlin编译及依赖解析错误求助
解决buildSrc依赖管理的两个常见错误
错误1:无法解析org.jetbrains.kotlin:kotlin-sam-with-receiver:1.5.31(未定义仓库)
buildSrc是Gradle的独立子项目,不会继承根项目的仓库配置,必须在buildSrc自己的构建脚本中声明仓库。
在buildSrc/build.gradle.kts(或buildSrc/build.gradle)中添加仓库配置:
plugins { `kotlin-dsl` } repositories { mavenCentral() // 核心仓库,kotlin-sam-with-receiver发布在这里 google() // 如果需要Android相关依赖可添加 } dependencies { implementation("org.jetbrains.kotlin:kotlin-sam-with-receiver:1.5.31") }
错误2:评估:buildSrc:compileKotlin的filteredArgumentsMap属性出错
这个问题大多是Kotlin版本与Gradle版本不兼容,或buildSrc的Kotlin插件配置缺失导致的,解决步骤如下:
- 确保buildSrc的构建脚本中应用了
kotlin-dsl插件(如上例所示),这是编写buildSrc的标准插件,会自动处理Kotlin编译相关的配置。 - 保证Kotlin插件版本与
kotlin-sam-with-receiver版本一致,避免版本冲突:dependencies { implementation(kotlin("gradle-plugin", version = "1.5.31")) implementation("org.jetbrains.kotlin:kotlin-sam-with-receiver:1.5.31") } - 检查Gradle版本是否匹配Kotlin版本:Kotlin 1.5.31需要Gradle 7.0及以上版本,若你的Gradle版本过低,需升级Gradle wrapper(修改
gradle/wrapper/gradle-wrapper.properties中的distributionUrl)。 - 清理Gradle缓存,避免缓存冲突:
./gradlew clean build --refresh-dependencies
内容的提问来源于stack exchange,提问作者Md. Shofiulla
相关产品推荐
相关产品推荐

