如何在sbt中的project/Build.scala中定义自定义任务?

如何在sbt中的project/Build.scala中定义自定义任务?,sbt,Sbt,使用project/Build.scala中的以下任务声明,当我在SBT控制台键入print时,将无法识别print任务 lazy val print = task { println("print") } 有什么问题吗?您需要一个任务键才能工作,可以使用任务键宏进行实例化: lazy val printTask = taskKey[Unit]("print") 我建议看一下相应的。 文件说: 在Scala代码中引用任务时使用val的名称。传递给TaskKey方法的字符串在运行时使用,例如在

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

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

有什么问题吗?

您需要一个
任务键
才能工作,可以使用
任务键
宏进行实例化:

lazy val printTask = taskKey[Unit]("print")
我建议看一下相应的。 文件说:

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

然后在SBT控制台中

> print
print

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

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

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

printTask := println("print")