我使用 SBT 作为 Spark 项目的构建工具。我可以使用 sbt-assemble 插件创建一个包含依赖项的 fat jar。
但是,这会生成约 120M 的 jar,其中大部分是我需要不断上传到 S3 才能运行代码的依赖项 - 这需要 3-5 分钟才能完成。时间不多,但相当烦人。
让 SBT 生成一个依赖项的 jar(很少更改)和一个我的应用程序代码的小 jar,我应该能够在几秒钟内上传,这将大大改善事情。
这可能吗?我对 SBT 还很陌生。
最佳答案
sbt-assemble
支持开箱即用 splitting project application jar from dependency jar 。要仅生成依赖项 jar,请执行
sbt assemblyPackageDependency
要仅使用项目应用程序代码生成 jar,请定义 assemblyOption
如下
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false, includeDependency = false)
并照常执行sbt assembly
。
关于scala - 如何配置 SBT 为依赖项和应用程序代码生成单独的 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55266538/