用于sbt-assembly的自定义outputPath

use*_*851 8 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: _*)
Run Code Online (Sandbox Code Playgroud)

因为如果我跑sbt assembly,hello.jar将被放入hello/target/<scala-version>/.是否可以将它放入/target/<scala-version>/

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

target in assembly := file("target/scala-2.11/")
Run Code Online (Sandbox Code Playgroud)

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

小智 8

assemblyOutputPath in assembly := file("yourpath")
Run Code Online (Sandbox Code Playgroud)

  • assemblyOutputPath实际上不如target通用。它实际上是目标+ assemblyJarName。意见如何? (2认同)