在 SBT 中重命名程序集生成的 uberjar
Rename assembly-generated uberjar in SBT
如何重命名和移动使用 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
我希望能够使用一致的名称(无需单独的脚本)自动重命名(并在另一个目录中生成)。
您可以在项目 page 中找到一些文档。在那里,您可以找到可以为 assembly
任务重写的键。
您要搜索的是assemblyJarName
和assemblyOutputPath
。然后,您的项目构建应该类似于:
lazy val myProject = (project in file(".")).
settings(
...
assemblyJarName in assembly := "myName.jar",
assemblyOutputPath in assembly := "...",
...
)
如何重命名和移动使用 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
我希望能够使用一致的名称(无需单独的脚本)自动重命名(并在另一个目录中生成)。
您可以在项目 page 中找到一些文档。在那里,您可以找到可以为 assembly
任务重写的键。
您要搜索的是assemblyJarName
和assemblyOutputPath
。然后,您的项目构建应该类似于:
lazy val myProject = (project in file(".")).
settings(
...
assemblyJarName in assembly := "myName.jar",
assemblyOutputPath in assembly := "...",
...
)