加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如何从sbt 0.10.0项目获取依赖关系jar列表

发布时间:2020-12-16 09:59:15 所属栏目:安全 来源:网络整理
导读:我有一个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.defaultSetting
我有一个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依赖项,以便我可以将它们符号链接到单个目录.

谢谢.

解决方法

示例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至0.10.
> Keys.scala定义了预定义的键.例如,您可能希望将managedClasspath替换为managedClasspath.
> This plugin定义了一个生成.ensime文件的简单命令,可能是一个有用的参考.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读