gpt4 book ai didi

sbt - sbt-pack 和 sbt-assembly 之间的主要区别是什么?

转载 作者:行者123 更新时间:2023-12-03 07:54:09 30 4
gpt4 key购买 nike

我刚刚偶然发现了 sbt-pack插入。开发流好像steady .这让我感到惊讶,因为我认为(引用 sbt-pack 的标题)唯一的插件是“创建可分发的 Scala 包”。是 sbt-assembly (在其他功能中)。

插件之间的主要区别是什么?我什么时候应该使用一个?

最佳答案

(免责声明:我维护 sbt-assembly)

sbt-汇编

sbt-assembly创建一个胖 JAR - 一个包含来自您的代码和库的所有类文件的单个 JAR 文件。通过演变,它还包含在多个 JAR 提供相同文件路径(如配置或 README 文件)时解决冲突的方法。它涉及对所有库 JAR 的解压缩,所以它有点慢,但这些都被大量缓存。

sbt-pack

sbt-pack保持所有库 JAR 完好无损,将它们移动到 target/pack目录(而不是它们通常所在的 Ivy 缓存),并为您制作一个 shell 脚本来运行它们。

sbt-native-packager

sbt-native-packager类似于 sbt-pack 但它是由 sbt 提交者启动的 Josh Suereth ,现在由功能强大的 Nepomuk Seiler 维护(也称为 muuki88)。该插件支持多种格式,如 Windows msi 文件和 Debian deb 文件。最近添加的是对 Docker images 的支持.

所有这些都是创建部署镜像的可行方法。在某些情况下,例如将您的应用程序部署到 Web 框架等,如果您处理一个文件而不是十几个文件,这可能会使事情变得更容易。

荣誉奖:sbt-progardsbt-onejar .

关于sbt - sbt-pack 和 sbt-assembly 之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22556499/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com