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 に答える