scala - SBT 无法解决构建定义中的依赖关系

标签 scala sbt

我正在执行 SBT 任务,需要向特定服务器发出多部分 POST 请求。我想使用 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找不到?

最佳答案

如果你想在 Build.scala 中引用某些依赖项,它必须在构建的项目中而不是在“项目项目”中声明。这意味着它应该是 project/build.sbt

事实证明,project/Build.scala 也是一个 SBT 项目,就像您的项目一样。

SBT作者在sbt is recursive中给出了很好的解释.

关于scala - SBT 无法解决构建定义中的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15425609/

相关文章:

list - 如何在Scala中减去列表中的两个连续元素?

java - 为基于 JVM 的项目创建助手 "scripts"

scala - 为什么定义默认参数值时需要输入?

xml - ScalaXML 和空行

scala - scalatest 的 "Unknown artifact. Not resolved or indexed"错误

scala - Actor "queue"?

scala - sbt 自动插件 - 禁用它们,但只针对一个子项目

sbt - 将/etc/<application> 添加到 debian :package-bin 的 sbt-native-packager 中的类路径

sql - 对象 sql 不是包 org.apache.spark 的成员

playframework-2.0 - 我可以在 Play! 中使用哪些 SBT build设置? 2 将包含来自类路径上源树的特定资源的框架