这适用于Scala 2.11.1和sbt 0.13.5。
假设我有一个具有以下目录结构的Scala / sbt项目:
root/
build.sbt
src/ ..
project/
plugins.sbt
build.properties
LolUtils.scala
我希望在LolUtils.scala
中使用一些外部库。这是如何在sbt中完成的?
如果我只是通过build.sbt
将我需要的库添加到libraryDependencies += ..
,那么它就找不到它们,并且在not found: object ..
的导入行上失败。
如果我添加单独的project/build.sbt
,由于某种原因它开始无法解析我的插件,而且我需要在嵌套的project/build.sbt
中手动指定Scala版本,这是不必要的重复。
实现这一目标的最佳方法是什么?
答案 0 :(得分:4)
sbt is recursive表示它使用自身编译构建定义,即*.sbt
目录下的*.scala
个文件和project
个文件。要添加额外的依赖项以在构建定义中使用它们,您必须在project/build.sbt
中声明它们。
有一点需要注意。您可以为scalaVersion
中的项目设置任何build.sbt
,但不应修改scalaVersion
中的project/build.sbt
因为它可能与版本{{1}冲突}本身使用(可能会也可能不会导致插件的二进制不兼容)。
Sbt 0.13.5正在使用Scala 2.10.4,您要使用的库必须与该特定版本的Scala兼容。
sbt