Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SBT 0.13 Build.scala对未定义设置的引用_Scala_Sbt - Fatal编程技术网

SBT 0.13 Build.scala对未定义设置的引用

SBT 0.13 Build.scala对未定义设置的引用,scala,sbt,Scala,Sbt,我是SBT新手,我一直在尝试为此构建构建自定义任务 我有一个简单的构建项目: import sbt._ import Keys._ object JsonBuild extends Build{ lazy val barTask = taskKey[Unit]("some simple task") val afterTestTask1 = barTask := { println("tests ran!") } val afterTestTask2 = barTas

我是SBT新手,我一直在尝试为此构建构建自定义任务

我有一个简单的构建项目:

import sbt._
import Keys._

object JsonBuild extends Build{

    lazy val barTask = taskKey[Unit]("some simple task")
    val afterTestTask1 = barTask := { println("tests ran!") }
    val afterTestTask2 = barTask <<= barTask.dependsOn(test in Test)

    lazy val myBarTask = taskKey[Unit]("some simple task")
    //val afterMyBarTask1 = myBarTask := { println("tests ran!") }
    lazy val afterMyBarTask2 = myBarTask <<= (myBarTask).dependsOn(test in Test) map { _ => println("tests ran!") }

    //settings ++ Seq(afterMyBarTask2)
    override lazy val settings = super.settings ++ Seq(afterMyBarTask2)
}
我在谷歌上到处搜索,找不到解决办法

你能解释一下为什么它不起作用吗

lazy val myBarTask = taskKey[Unit]("some simple task")
override lazy val settings = super.settings ++ Seq(myBarTask := { (test in Test).value; println("tests ran!") } )

调用
dependsOn
时,
myBarTask
未定义。您应该在使用
dependsOn
之前定义它。另外,
value
call on key(任务/设置)现在是依赖其他键的首选方式。您仍然可以使用您的版本,但定义
myBarTask

这一直很麻烦

我读了更多的书

我想我知道为什么上面的代码不起作用

lazy val afterMyBarTask2 = myBarTask <<= (myBarTask).dependsOn(test in Test) map { _ => println("tests ran!") }

lazy val afterMyBarTask2=myBarTask@wedens,请添加代码回答问题的原因解释。
lazy val afterMyBarTask2 = myBarTask <<= (myBarTask).dependsOn(test in Test) map { _ => println("tests ran!") }