You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除sbt-conductr的bundle:dist生成Zip包的哈希后缀并获取文件

刚好我对sbt-conductr的配置比较熟悉,给你分两部分解决这两个问题:

1. 移除bundle:dist生成Zip包中的哈希值

sbt-conductr默认会在归档文件名后添加哈希值,我们可以通过配置bundleArchiveName来指定固定的无哈希文件名。在你的build.sbt中添加以下配置:

// 自定义bundle归档文件名,移除哈希后缀
bundleArchiveName := s"${name.value}-archive-${version.value}.zip"

这样生成的文件名就会变成[你的项目名]-archive-[你的版本号].zip,完全去掉了随机哈希串,方便你发布到Artifactory时指定确切文件名。

2. 在自定义任务myZipTask中获取bundle:dist生成的Zip文件

你不需要手动拼接或猜测文件名,sbt-conductr已经提供了现成的key来获取生成的归档文件。修改你的任务定义如下:

// 记得导入sbt-conductr的自动导入项
import com.typesafe.conductr.bundlelib.sbt.BundlePlugin.autoImport._

val myZipTask = taskKey[File]("return the bundle:dist-zip file")
myZipTask := {
  // 先触发bundle:dist任务执行,确保Zip包已生成
  bundleDist.value
  // 直接获取生成的Zip文件对象
  bundleArchiveFile.value
}
addArtifact(Artifact("bundle", "zip", "zip"), myZipTask)

这里的关键细节:

  • bundleDist是对应bundle:dist命令的taskKey,调用.value会强制该任务执行,保证后续能拿到已生成的文件。
  • bundleArchiveFile是sbt-conductr提供的配置key,直接指向bundle:dist生成的Zip文件路径,完全不需要手动处理文件名。

内容的提问来源于stack exchange,提问作者na1anya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:27:44