在project/Build.scala
中使用以下任务声明,当我在SBT控制台输入print
时,无法识别print
任务。
lazy val print = task { println("print") }
出了什么问题?
答案 0 :(得分:5)
您需要使用TaskKey
才能使用taskKey
宏来实例化
lazy val printTask = taskKey[Unit]("print")
我建议您查看相应的documentation about tasks。 文档说:
在引用Scala代码中的任务时使用val的名称。传递给TaskKey方法的字符串在运行时使用,例如在命令行
答案 1 :(得分:2)
taskKey[Unit]("print") := println("print")
然后在您的SBT控制台中
> print
print
在更复杂的代码中,您通常会看到与设置分开的密钥。
val printTask = taskKey[Unit]("print")
printTask := println("print")