繁体   English   中英

sbt-assembly 的自定义输出路径

[英]Custom outputPath for sbt-assembly

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

例如,请考虑以下内容:

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版本?

assemblyOutputPath in assembly := file("yourpath")

这个答案的一个小改进。 如果您需要保留由程序集插件生成的文件名,请执行以下操作:

assembly / assemblyOutputPath := file(s"/path/to/jar/${(assembly/assemblyJarName).value}")

您可以通过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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM