【问题标题】:SBT always downloads the packages/scala libraries on Docker, docker-composeSBT 总是在 Docker、docker-compose 上下载包/scala 库
【发布时间】:2021-10-10 04:43:41
【问题描述】:

我最近在 Docker Ubuntu 机器上安装了 SBT 以开始使用 Scala。当我最初启动 docker 时,它开始从远程位置 (https://repo.scala-sbt.org/scalasbt/debian/sbt-0.13.17.deb) 抓取所有 Java、sbt JAR。

但是,每当我运行 sbt 命令时,它都会再次开始下载 sbt JAR。有没有一种维护全局缓存的方法,即工件只下载一次,而不是每次我远程到 docker 容器时下载?

【问题讨论】:

    标签: scala sbt sbt-plugin


    【解决方案1】:

    我对此的解决方案是多阶段构建。

    有一个“基础”泊坞窗图像。

    仅复制 build.sbt、projects.sbt 和列出项目中 sbt 版本的文件。

    这定义了所需的依赖项。该基础映像中的最后一行是“sbt update”——即获取它们。那个“基础镜像”里面有依赖……并且是可重用的。只要记住在更改库版本等以重建它时运行它。

    在“构建”映像中……复制项目并正常进行……确保 sbt 正在从 maven-local 解析,并且它应该使用“缓存”……这在上一段中已经存在。

    我很想听听其他答案,但这是我的解决方案……YMMV :-)。

    这在云/Kube 管道上对我有用。

    【讨论】:

      猜你喜欢
      • 2012-09-08
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2018-03-25
      • 2018-08-05
      • 2020-08-14
      • 1970-01-01
      相关资源
      最近更新 更多