4

我想使用一些依赖项在 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 进程。

4

1 回答 1

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) !
}

请注意,类路径不包括“。” (又名当前目录),但是。

于 2012-08-24T11:05:59.767 回答