我想在我的Build.scala文件中使用org.apache.commons中的一些类,但它总是抱怨找不到我想要的类。当它们包含在源文件的顶部时,它是可以的。所以相同的库,如果包含在源文件中,没关系;如果包含在构建文件中,则会出错。如何让include在Build.scala中工作?
为了澄清,对于源使用的库,您可以添加到
libraryDependencies ++ = ...
build.sbt文件的行
但是如何处理构建文件本身所需的库?看来
添加到libraryDependencies ++ = ...
的项目 构建文件(.scala one)不能使用。
答案 0 :(得分:1)
您正在为元构建添加库。您应该将设置放在project / build.sbt中,而不是build.sbt中。请查看sbt documentation以获得更好的理解。
一个简单的演示:
$ mkdir project
$ cat > project/build.sbt
libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.3.0.RC3"
$ cat > build.sbt
import org.json4s.jackson.JsonMethods
{
println(JsonMethods)
libraryDependencies ++= Nil
}
$ sbt
[info] Loading global plugins from /Users/thirstycrow/.sbt/0.13/plugins/project
[info] Loading global plugins from /Users/thirstycrow/.sbt/0.13/plugins
[info] Loading project definition from /Users/thirstycrow/tmp/project
[info] Updating {file:/Users/thirstycrow/tmp/project/}tmp-build...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
org.json4s.jackson.JsonMethods$@7addc5e4
[info] Set current project to tmp (in build file:/Users/thirstycrow/tmp/)