IntelliJ IDEA中Gradle无法识别build.gradle.kts的Kotlin DSL问题
解决Gradle Kotlin DSL语法报错与依赖匹配问题
第一个语法错误的解决
你遇到的第一个报错Unexpected tokens (use ';' to separate expressions on the same line),是因为混用了Groovy DSL和Kotlin DSL的语法。在Gradle Kotlin DSL的plugins块中,引用插件的id必须用括号包裹参数,修正后的代码如下:
plugins { application kotlin("jvm") version "1.7.10" id("io.ktor.plugin") version "2.1.0" // 为id添加括号,符合Kotlin DSL语法 id("org.jetbrains.kotlin.plugin.serialization") version "1.7.10" }
第二个依赖匹配错误的处理
修改语法后出现的Unresolved reference错误,是由于io.ktor.plugin插件版本与你使用的Kotlin插件版本(1.7.10)存在接收器类型不兼容的问题。如果仅做本地开发、不需要该插件的部署辅助功能,直接移除该行插件声明即可解决问题:
plugins { application kotlin("jvm") version "1.7.10" id("org.jetbrains.kotlin.plugin.serialization") version "1.7.10" }
关于IntelliJ识别Kotlin DSL的说明
不需要额外配置让IntelliJ识别build.gradle.kts为Kotlin DSL——IDE会默认根据文件后缀区分:.kts对应Kotlin DSL,.gradle对应Groovy DSL。如果出现识别异常,可尝试:
- 点击Gradle工具窗口的刷新按钮,重新同步项目
- 执行
File -> Invalidate Caches...并重启IDE
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

