如何在构建时访问SBT / Scala构建中的库依赖项?

时间:2018-07-25 18:32:20

标签: scala build sbt metaprogramming

例如,假设我有一个生成“托管”源代码的文件project/CodeGeneration.scala,并且假设该对象(CodeGeneration)需要利用第三方库-例如{{3 }} ...

import org.jsoup._

object CodeGeneration {
  def generateCode = /* Generate code using jsoup... */
}

仅将jsoup的行添加到libraryDependencies中的build.sbt并不能解决问题;它会导致编译错误,抱怨缺少jsoup对象/命名空间。

那么,(如何)一个人可以从“元”代码(生成其他代码的代码)访问这种依赖关系?

1 个答案:

答案 0 :(得分:0)

似乎解决方案是利用sbt的“递归”性质,并在build.sbt目录中放置一个额外的project文件。因此,例如project/build.sbt可能看起来像这样:

libraryDependencies += "org.jsoup" % "jsoup" % "1.11.2"

有更多详细信息,in sbt's official documentation