如何配置SBT以为依赖项和应用程序代码生成单独的jar?

时间:2019-03-20 17:10:12

标签: scala sbt sbt-assembly

我正在使用SBT作为Spark项目的构建工具。我可以使用sbt-assembly插件为依赖项创建一个胖子。

但是,这产生了一个约120M的jar,大部分依赖关系我需要不断上传到S3才能运行我的代码-这需要3-5分钟。时间不多,但很烦人。

让SBT产生一罐依赖关系(很少更改)和一小罐我的应用程序代码(可以在几秒钟内上传)会大大改善。

这可能吗?我对SBT很陌生。

1 个答案:

答案 0 :(得分:2)

sbt-assembly支持开箱即用的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