The most used Scala Build Tools(SBT)
本文最后更新于:Thursday, December 3rd 2020, 11:50 am
有很多构建工具,比如 Ant, Maven, Gradle等等,但是 sbt是专门为Scala设计的。它前些日子还被Scala创始人Martin Odersky联合创办的Lightbend公司支持。
What is sbt
sbt 是一个交互式构建工具:你可以在Scala project中定义你的task,然后从交互式sbt shell 并行的运行它们。
Why sbt
- 专为Scala和Java设计:它能使用多个Scala版本交叉编译你的项目。
- 类型安全和并行的
build.sbt:一个基于Scala的DSL(domain specific language),用于表示并行任务处理图谱。任何打字错误都会引发编译错误。 - 快速迭代:使用Zinc 增量编译器和文件监视器,使得
编辑-编译-测试循环达到快速并且递增 - 可扩展性:我们只用在
build.sbt中写入相应代码,就可以增加对新的任务或平台(比如Scala.js)的支持。 - Join 100+ community-maintained plugins to share and reuse sbt tasks
Install sbt(1.4.4)
for windows
- windows installer
- universal package
- 使用Chocolatey「Windows 平台包管理器」:> choco install sbt
推荐把sbt软件包发布的apt仓库加入到源列表

The sbt directory structure
手动创建项目目录
1
2
3
4mkdir HelloWorld
cd HelloWorld
mkdir -p src/{main,test}/{java,resources,scala}
mkdir project target

使用sbt命令行工具
1
sbt new scala/hello-world.g8 // 从Github仓库上拉下来项目模板

1 | |
Running the project
1 | |

Project management
build.sbt文件非常重要,你项目的Scala版本,依赖项全在里面有说明。添加依赖后,你才可以在你的程序里面正常import;
发布的包可以在这里查看

更多内容请见下一篇文章:【build.sbt 详解】😸
References
[1] Scala book
[2] GETTING STARTED WITH SCALA
[3] sbt reference
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!