用于sbt-assembly的自定义outputPath

时间:2015-02-15 00:08:04

标签: scala sbt sbt-assembly

我有多项目Build.scala。有没有办法将sbt-assembly生成的所有jar放在根目标目录中?

例如,请考虑以下事项:

lazy val root = Project("root", file(".")).aggregate(hello)

lazy val hello = Project(id = "hello", base = file("hello"))
   .settings(assemblySettings: _*)

按原样,如果我运行sbt assemblyhello.jar将被放置在hello/target/<scala-version>/中。是否可以将其放在/target/<scala-version>/

我知道可以通过添加以下设置来指定我想要的outputPath:

target in assembly := file("target/scala-2.11/")

有没有办法让这更通用?例如,所以没有必要手动指定scala版本?

2 个答案:

答案 0 :(得分:7)

assemblyOutputPath in assembly := file("yourpath")

答案 1 :(得分:0)

您可以通过cmd设置assemblyOutputPath

sbt 'set assemblyOutputPath in assembly := new File("/path/to/package.jar")' assembly

如果您需要设置多个选项-只需使用空格即可:

sbt 'set test in assembly := {}' 'set assemblyOutputPath in assembly := new File("/path/to/package.jar")' assembly