您没有指定要从中复制配置的 ivy 配置,但这里有一个完整的示例,它将所有您的托管依赖项复制到 target/<scala version>/lib 文件夹(scala 版本由 crossTarget 给出任务)。只需复制此文件并将其放入文件project/Build.scala(或您想要的任何文件名):
import sbt._
import Keys._
object MyBuild extends Build {
lazy val copyDependencies = TaskKey[Unit]("copy-dependencies")
def copyDepTask = copyDependencies <<= (update, crossTarget, scalaVersion) map {
(updateReport, out, scalaVer) =>
updateReport.allFiles foreach { srcPath =>
val destPath = out / "lib" / srcPath.getName
IO.copyFile(srcPath, destPath, preserveLastModified=true)
}
}
lazy val root = Project(
"root",
file("."),
settings = Defaults.defaultSettings ++ Seq(
copyDepTask
)
)
}
如果你想要一个特定的配置,替换
updateReport.allFiles by updateReport.select(configuration = Set("compile")) 或您想要的任何常春藤配置。