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 软件开发人员