我有一个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我怎样才能得到这个列表呢?
发布于 2020-06-14 21:31:19
是的,有intransitive()或notTransitive()分类器。它是文档化的here。
https://stackoverflow.com/questions/61908217
复制相似问题