代码之家  ›  专栏  ›  技术社区  ›  xmar

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

  •  1
  • xmar  · 技术社区  · 6 年前

    如何重命名和移动SBT组装插件生成的uberjar?

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

    My 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 回复  |  直到 6 年前
        1
  •  4
  •   Miguel    6 年前

    您可以在project的 page 。在那里,您可以找到可以为 assembly 任务

    您正在搜索的是 assemblyJarName assemblyOutputPath 。然后,您的项目构建应该如下所示:

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