如何在sbt任务的定义中使用库依赖项?

mus*_*oom 8 scala sbt

我正在定义一个需要在库中调用代码的sbt任务.这是一个build.sbt文件,包含我到目前为止所尝试的内容:

libraryDependencies ++= Seq("com.some.company" %% "some-lib" % "1.0.0")

val doSomething = taskKey[Unit]("does something")

doSomething := {
  import com.some.company.function
  function()
}
Run Code Online (Sandbox Code Playgroud)

进口不起作用.如何定义依赖于外部库中的代码的任务?

小智 10

.sbt在根目录中构建文件本身,SBT使用project目录中的信息.所以把一个build.sbt放在project目录中并在libraryDependencies那里设置密钥:

libraryDependencies ++= Seq("com.some.company" %% "some-lib" % "1.0.0")
Run Code Online (Sandbox Code Playgroud)

所以,为了澄清,你现在有两个build.sbt文件:

  1. ./build.sbt
  2. ./project/build.sbt