Gradle Kotlin DSL中‘api’依赖声明报错及写法咨询
解决Kotlin DSL中"Unresolved reference: api"错误
针对你把Groovy DSL的api 'org.slf4j:slf4j-api:1.7.25'转换为Kotlin DSL时遇到的错误,按以下步骤排查解决:
确保依赖配置在正确作用域内
Kotlin DSL的api是依赖配置项,必须写在dependencies代码块内,正确写法为:dependencies { api("org.slf4j:slf4j-api:1.7.25") }注意参数用双引号包裹,且依赖块的lambda语法要正确闭合。
确认已引入提供
api配置的插件api并非Gradle核心自带配置,而是由Java Library插件(或Android相关插件)提供。未引入对应插件会导致未解析引用错误:- Java/Kotlin库项目,需在
build.gradle.kts顶部添加:plugins { `java-library` } - Android库项目,需添加:
plugins { id("com.android.library") } - Android应用项目,
api同样可用,需引入com.android.application插件。
- Java/Kotlin库项目,需在
清理IDE缓存
若代码写法正确但IntelliJ仍报错,大概率是IDE缓存问题:- 点击菜单栏
File->Invalidate Caches... - 勾选
Clear file system cache and local history,点击Invalidate and Restart
- 点击菜单栏
检查Gradle版本兼容性
确保Gradle版本支持Kotlin DSL(建议使用6.0及以上版本),可在项目根目录gradle/wrapper/gradle-wrapper.properties中查看和修改版本:distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
内容的提问来源于stack exchange,提问作者livkonrol
相关产品推荐
相关产品推荐

