[英]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 assembly
, hello.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.