SBT - 获取托管jar的路径

时间:2012-08-18 00:22:39

标签: scala sbt dependency-management jooq

我想使用一些依赖项在Scala中执行代码生成。

示例:

libraryDependencies += "org.jooq" % "jooq" % "2.4.0"

val jooqTask = jooq := {
  val classpath = "jooq-2.4.0.jar;jooq-meta-2.4.0.jar;jooq-codegen-2.4.0.jar;."
  val main = "org.jooq.util.GenerationTool"

  "java -classpath %s %s /project/jooq-configuration.xml".format(classpath, main) !
}

但是,我想获取依赖项的类路径,因此我实际上可以运行Java进程。

1 个答案:

答案 0 :(得分:2)

您可以像这样获取编译依赖项的类路径:

val jooqTask = jooq <<= managedClasspath in Compile map { cp =>
  val classpath = Path.makeString(cp.files))
  val main = "org.jooq.util.GenerationTool"

  "java -classpath %s %s /project/jooq-configuration.xml".format(classpath, main) !
}

请注意,类路径不包含“。” (尽管是当前目录)。