gpt4 book ai didi

scala - 如何从 sbt 0.10.0 项目中获取依赖项 jar 列表

转载 作者:行者123 更新时间:2023-12-04 17:57:04 24 4
gpt4 key购买 nike

我有一个 sbt 0.10.0 项目,它声明了一些依赖项,有点像:

object MyBuild extends Build {
val commonDeps = Seq("commons-httpclient" % "commons-httpclient" % "3.1",
"commons-lang" % "commons-lang" % "2.6")

val buildSettings = Defaults.defaultSettings ++ Seq ( organization := "org" )

lazy val proj = Project("proj", file("src"),
settings = buildSettings ++ Seq(
name := "projname",
libraryDependencies := commonDeps, ...)

...
}

我希望创建一个构建规则来收集“proj”的所有 jar 依赖项,以便我可以将它们符号链接(symbolic link)到单个目录。

谢谢。

最佳答案

打印完整运行时类路径的示例 SBT 任务

以下是我正在使用的大致内容。 “get-jars”任务可以在 SBT 提示符下执行。

import sbt._
import Keys._
object MyBuild extends Build {
// ...
val getJars = TaskKey[Unit]("get-jars")
val getJarsTask = getJars <<= (target, fullClasspath in Runtime) map { (target, cp) =>
println("Target path is: "+target)
println("Full classpath is: "+cp.map(_.data).mkString(":"))
}
lazy val project = Project (
"project",
file ("."),
settings = Defaults.defaultSettings ++ Seq(getJarsTask)
)
}

其他资源
  • Unofficial guide到 sbt 0.10。
  • Keys.scala定义预定义的键。例如,您可能想要替换 fullClasspathmanagedClasspath .
  • This plugin定义了一个简单的命令来生成一个 .ensime 文件,并且可能是一个有用的引用。
  • 关于scala - 如何从 sbt 0.10.0 项目中获取依赖项 jar 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6506377/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com