11

我有多个项目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 assembly,hello.jar将被放置在hello/target/<scala-version>/. 是否可以将其放入/target/<scala-version>/

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

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

有什么方法可以让这个更通用吗?比如这样就不用手动指定scala版本了?

4

2 回答 2

10
assemblyOutputPath in assembly := file("yourpath")
于 2016-09-08T10:55:38.753 回答
0

你可以assemblyOutputPath通过cmd设置:

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
于 2018-12-20T11:34:55.170 回答