跳转至

SBT Usage

记录SBT使用情况.

入门指南

目前看了Sbt In Action这本书的前四章,感觉整体讲解的还是比较清晰的(比直接跟着Scala官网走流程好多了)。包括设计理念在内的大部分概念都有涉及,简单的使用来说差不多够用了。

Thin Jar and Fat Jar

因为Scala运行在JVM上,一个很直接的问题是怎样把Scala程序打包成JAR包直接java -jar xxx.jar执行?这里就涉及两个命令及其对应的包。

终端输入sbt进入sbt环境,如果输入package那么会给出一个Thin Jar, 也就是将源码直接打包,不加入其他运行需要的依赖; 如果加入sbt-assembly插件(后面会介绍如何加入),输入assembly,那么就会得到一个Fat Jar。 Fat Jar就是我们可以直接运行的Jar包。

关于Fat jar的生成以及sbt-assembly插件的使用参考Baeldung:

  1. build.sbt同目录下的project文件夹下新建plugins.sbt文件
  2. plugins.sbt文件中添加addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.15.0")即可

文章另外讲了provideddefault deduplicate merge strategy(META-INF)的讲解.