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:
- 在
build.sbt
同目录下的project
文件夹下新建plugins.sbt
文件 - 在
plugins.sbt
文件中添加addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.15.0")
即可
文章另外讲了provided
与default deduplicate merge strategy(META-INF)
的讲解.
最后更新: November 23, 2023