gpt4 book ai didi

gradle - 无法向 “tasks”任务添加doFirst操作。找不到参数doFirst()方法

转载 作者:行者123 更新时间:2023-12-03 04:58:13 25 4
gpt4 key购买 nike

我正在尝试对“任务” 任务调用doFirst操作。在这里,我的意思是当我们运行命令“gradle task --all”时,我们看到名为“tasks”的任务列在帮助程序任务下。

编辑1开始

我的 build.gradle :

tasks.doFirst{ println "First executed"}

编辑1 END

它给了我下面的错误:
Could not find method doFirst() for arguments [build_3m21dsbdvnnfh1sf7441k5d5v$_run_closure5@2cad909f] on task set of type org.gradle.api.internal.tasks.DefaultTaskContainer

我试图通过运行命令 gradle help --task tasks找出此任务“任务”的类型

它说类型是 TaskReportTask (org.gradle.api.tasks.diagnostics.TaskReportTask)
然后,我导航到 TaskReportTask API文档。根据文档,该类从 doFirst类继承了 org.gradle.api.internal.AbstractTask方法。我很困惑,如果在其中插入doFirst()方法,这为什么不起作用。

在这方面的任何指导都是高度赞赏的。

最佳答案

问题是您尝试在属性doFirst上调用方法tasks,实际上是project.tasks(TaskContainerProject的实例,请参见Project DSL),而不是名为Tasktasks对象。

请改用以下内容:

project.tasks.getByName("tasks").doFirst {
println "do something before task [tasks] executes"
}

关于gradle - 无法向 “tasks”任务添加doFirst操作。找不到参数doFirst()方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53538026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com