7

使用 中的以下任务声明,当我在 SBT 控制台输入时project/Build.scala,该print任务无法识别。print

lazy val print = task { println("print") }

怎么了?

4

2 回答 2

6

您需要一个TaskKey可以通过使用taskKey宏实例化的工作:

lazy val printTask = taskKey[Unit]("print")

我建议查看有关任务的相应文档。文档说:

在 Scala 代码中引用任务时使用 val 的名称。传递给 TaskKey 方法的字符串在运行时使用,例如在命令行中

于 2013-06-17T07:48:47.850 回答
2
taskKey[Unit]("print") := println("print")

然后在你的 SBT 控制台中,

> print
print

在更复杂的代码中,您通常会看到与设置分开的键。

val printTask = taskKey[Unit]("print")

printTask := println("print")
于 2015-10-22T22:32:42.937 回答