我正在制作一项需要向某个服务器发出多部分POST请求的SBT任务。我想使用Dispatch来发出请求。我在项目顶层的build.sbt
中有以下内容:
libraryDependencies ++= Seq(
"net.databinder.dispatch" %% "dispatch-core" % "0.9.5"
)
任务定义位于project/Build.scala
。我有
import sbt._
import Keys._
import dispatch._
object SubmitBuild extends Build {
...
}
我收到以下错误消息:
[error] /Users/ken/xxxxtools/project/Build.scala:3: not found: object dispatch
[error] import dispatch._
[error] ^
如果我删除import dispatch._
,那么sbt将编译。我知道我安装了Dispatch。 SBT为什么不能找到它?
答案 0 :(得分:7)
如果要在Build.scala中引用某些依赖项,则必须在构建项目中而不是在“项目项目”中声明它。这意味着它应该是project/build.sbt
。
事实证明project/Build.scala
也是一个SBT项目,就像你的项目一样。
SBT作者在sbt is recursive中给出了非常好的解释。