gpt4 book ai didi

scala - 何时使用 "sbt assembly"和 "sbt compile && sbt package"?

转载 作者:行者123 更新时间:2023-12-04 00:03:46 31 4
gpt4 key购买 nike

我想知道什么时候应该使用sbt assembly,什么时候应该使用sbt compile && sbt package

我正在使用 Intellij IDEA 在我的本地计算机上编写一个程序,并使用 sbt compile && sbt package 对其进行编译,然后将其上传到集群并运行它使用 spark-submit。这是最好的方法吗?什么时候应该使用 sbt 汇编

最佳答案

I would like to know when should I use sbt assembly and when sbt compile && sbt package?

引用 sbt-assembly的网站(给出 sbt assembly ):

The goal is simple: Create a fat JAR of your project with all of its dependencies.

build.sbt 中的任何依赖项(未标记为 Provided )将成为称为 uber-jar 的最终 jar 文件的一部分。

您想使用该插件至少有两个原因:

  1. 将所有依赖项捆绑在一个 jar 文件中,这样更容易部署到生产环境(类似于 Docker 镜像)
  2. 使用一个 Spark 版本(例如 2.0.0)运行您的应用程序,并使用一个具有 spark-submit 的集群从 Spark 1.6.0

您使用 sbt compile && sbt package编译和打包应用程序的类(顺便说一句,它不必使用 Spark)。该 jar 文件不包含应用程序的依赖项,因此必须以其他方式提供任何依赖项(并使部署变得有点棘手)。

注意:sbt compile && sbt package只是 sbt compile package 的更长变体鉴于 compile任务是 package 的依赖项只是 sbt package .

关于scala - 何时使用 "sbt assembly"和 "sbt compile && sbt package"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53744950/

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