我想使用一些依赖项在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进程。
答案 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) !
}
请注意,类路径不包含“。” (尽管是当前目录)。