跳至主要内容

sbt

一个简单的构建工具

简单的事情简单做

Hello, world!

ThisBuild / scalaVersion := "3.3.3"
你只需要一行 build.sbt 代码就可以开始使用 Scala。在 sbt 例子 页面上了解更多。

sbt new

从社区维护的 Giter8 模板 中选择,快速启动你的项目
$ sbt new scala/scala-seed.g8
$ sbt new playframework/play-scala-seed.g8
$ sbt new akka/akka-http-quickstart-scala.g8
$ sbt new http4s/http4s.g8
$ sbt new holdenk/sparkProjectTemplate.g8

为什么选择 sbt?

适用于 Scala 和 Java

sbt 专为 Scala 和 Java 项目而构建。它是 84.7% Scala 开发人员(2023 年)的首选构建工具。Scala 特定功能的一个例子是能够针对多个 Scala 版本进行交叉构建项目。

类型安全且并行

build.sbt 是一个基于 Scala 的 DSL,用于表达并行处理任务图。build.sbt 中的拼写错误将被视为编译错误。

快速迭代

借助 Zinc 增量编译器和文件监视(~),编辑-编译-测试循环快速且增量式。

可扩展

添加对新任务和平台(如 Scala.js)的支持与编写 build.sbt 一样简单。加入 100 多个社区维护的插件,分享和重用 sbt 任务。

超越构建工具

之前,开发人员 21% 的时间都花在了重新部署 WebLogic 应用程序上,这是不可接受的。我们必须找到一个解决方案:提高生产力的方法。这就是我们拥有 Play 和 Akka 的原因之一。我们对热重载印象深刻。现在,开发人员的生产力明显提高了。
Keyur Shah,Verizon 资深研究员

sbt 是 Tapad 技术堆栈的核心关键组件。它在构建工具之外的用途,在很大程度上造成了工程组织所乐见的巨大效率提升。sbt 及其交互式 Shell 是标准化应用程序测试、发布和部署平台的接口。工件和应用程序在四个全球数据中心之间进行交付、更新和扩展。
Jeffrey Olchovy,Tapad 首席技术官

您可以使用 sbt-native-packager 构建 Docker 等原生格式,sbt-release 有很好的步骤来处理版本控制,sbt-bintray 可以用于发布到 Bintray。有一个模式:你引入了插件。它有一些设置。你阅读文档以了解设置。然后它完成它的工作。
Gabriel Asman,Ovo Energy 软件开发人员