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

Gradle 9出现'Unresolved reference 'exec''错误的原因咨询

Gradle 9中"Unresolved reference 'exec'"报错原因及解决办法

报错原因

Gradle 9对Kotlin DSL的作用域规则做了严格调整,移除了Gradle 8及更早版本中tasks.register闭包内的隐式exec扩展函数。旧版本里Gradle会在该作用域默认导入相关扩展,允许直接调用exec;但Gradle 9收紧了作用域边界,不再提供这个隐式支持,导致编译器无法识别exec引用。

另外你的原代码还存在一个语法错误:commandLine的括号未闭合,这也需要同步修正。

解决办法

有两种常用修复方式:

方式1:直接注册Exec类型任务

明确指定任务类型为Exec,无需手动调用exec函数:

tasks.register<Exec>("myTask") {
    commandLine("sh", "-c", "myscript.sh")
}

方式2:通过project显式调用exec

如果需要在自定义任务逻辑中执行exec操作,可通过project对象显式调用exec方法:

tasks.register("myTask") {
    doLast {
        project.exec {
            commandLine("sh", "-c", "myscript.sh")
        }
    }
}

内容的提问来源于stack exchange,提问作者Dan Fabulich

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 14:24:51