You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在build.gradle.kts中用def报错:Unresolved reference: def 如何解决?

解决build.gradle.kts中"Unresolved reference: def"错误

def是Groovy DSL(对应后缀为.gradle的构建脚本)里用来声明动态类型变量的关键字,但你当前使用的是Kotlin DSL(后缀为.gradle.kts),Kotlin语法不支持def,这就是报错的原因。

你需要将Groovy风格的代码改成Kotlin风格的写法,替换后的代码如下:

val apikeyPropertiesFile = rootProject.file("apikey.properties")
val apikeyPro = Properties()
apikeyPro.load(FileInputStream(apikeyPropertiesFile))

补充说明:

  • Kotlin中用val(不可变变量)或var(可变变量)替代Groovy的def,根据变量是否需要重新赋值选择即可,这里用val更合适。
  • 如果需要从properties文件中读取具体配置项,比如API_KEY,可以用apikeyPro.getProperty("API_KEY")。
  • 建议添加异常处理,避免文件不存在或读取失败导致构建中断,示例:
val apikeyPropertiesFile = rootProject.file("apikey.properties")
val apikeyPro = Properties()
runCatching {
    apikeyPro.load(FileInputStream(apikeyPropertiesFile))
}.onFailure {
    println("加载apikey.properties失败:${it.message}")
}

内容的提问来源于stack exchange,提问作者Re Za

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:44:50