【发布时间】:2020-06-14 21:31:18
【问题描述】:
我有一个引入依赖项的 SBT 项目。我只想引入直接依赖项——而不是任何传递依赖项。我想找到引入的依赖项的文件名,以便我可以将其复制到某个地方。
例如给定一个具有以下内容的build.sbt 文件:
libraryDependencies += "org.eclipse.jetty" % "jetty-server" % "9.4.28.v20200408"
我想知道文件系统上的 jetty-server jar 在哪里。
我已尝试将以下内容添加到我的 build.sbt 文件中:
lazy val mytaskKey: TaskKey[Unit] = TaskKey[Unit]("mytask")
def mytask: Def.Setting[Task[Unit]] = mytaskKey := {
val updateReport = update.value
updateReport.allFiles foreach { f =>
println(f)
}
}
mytask
当我运行它时,我会得到一个完整的依赖列表:
/Users/dylan/.sbt/boot/scala-2.12.10/lib/scala-library.jar
/Users/dylan/.coursier/cache/v1/https/repo1.maven.org/maven2/org/eclipse/jetty/jetty-server/9.4.28.v20200408/jetty-server-9.4.28.v20200408.jar
/Users/dylan/.sbt/boot/scala-2.12.10/lib/scala-compiler.jar
/Users/dylan/.sbt/boot/scala-2.12.10/lib/scala-reflect.jar
/Users/dylan/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar
/Users/dylan/.coursier/cache/v1/https/repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6.jar
/Users/dylan/.coursier/cache/v1/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/1.12/jansi-1.12.jar
我不想要那个完整的列表 - 我只想要码头罐子。即
/Users/dylan/.coursier/cache/v1/https/repo1.maven.org/maven2/org/eclipse/jetty/jetty-server/9.4.28.v20200408/jetty-server-9.4.28.v20200408.jar
我怎样才能得到这份清单?
【问题讨论】:
标签: sbt