如何在sbt的.scala文件中使用外部依赖项?

时间:2014-06-21 20:50:21

标签: scala sbt

这适用于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版本,这是不必要的重复。

实现这一目标的最佳方法是什么?

1 个答案:

答案 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