在SBT中重命名程序集生成的uberjar

时间:2018-05-16 16:17:07

标签: scala jar sbt sbt-assembly uberjar

如何重命名和移动使用SBT程序集插件生成的uberjar?

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")

我的assemblyMergeStrategy(用于移除META-INF):

assemblyMergeStrategy in assembly := {
   case PathList("META-INF", xs @ _*) => MergeStrategy.discard
   case x => MergeStrategy.first
}

它产生类似的东西:

target/scala-2.12/my-project-assembly-0.1.jar 

我希望能够使用一致的名称自动重命名(并在另一个目录中生成)(无需单独的脚本)。

1 个答案:

答案 0 :(得分:0)

您可以在项目的page中找到一些文档。在那里,您可以找到可以为assembly任务重写的密钥。

您要搜索的是assemblyJarNameassemblyOutputPath。然后,您的项目构建应该类似于:

lazy val myProject = (project in file(".")).
  settings(
    ...
    assemblyJarName in assembly := "myName.jar",
    assemblyOutputPath in assembly := "...",
    ...
  )