📅  最后修改于: 2023-12-03 15:34:49.065000             🧑  作者: Mango
SBT(Scala Build Tool) 是一个基于JVM的构建工具,用于构建Scala项目。它采用声明式语法和基于任务的模型来定义构建,任务可以从其他任务中构建,并且可以定义多个构建变体,例如不同的环境(开发环境、测试环境、生产环境等)以及不同的编译器选项。SBT的目标是提供一个快速、可重现和可扩展的构建系统。
在MacOS或Linux中,可以使用如下命令安装sbt:
$ echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 642AC823
$ sudo apt-get update
$ sudo apt-get install sbt
在Windows中,可以从 官网 下载 Windows 安装包进行安装。安装完成后,在命令行中输入 sbt
命令即可进入 sbt shell。
在项目的根目录下创建 build.sbt
文件,该文件中定义了项目的配置信息、依赖和编译选项等等。例如:
name := "my-project"
version := "1.0"
scalaVersion := "2.12.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.4.3"
上述配置文件定义了项目的名称为 my-project
,版本为 1.0
,使用 Scala 2.12.8 进行编译,并且依赖 Apache Spark 的核心库(版本为 2.4.3)。
使用 sbt shell 运行项目中的代码非常简单,只需要在 sbt shell 中输入 run
命令即可。sbt会编译并运行项目中的代码。例如:
sbt:my-project> run
[info] Updating ...
[info] Done updating.
[info] Compiling ...
[info] Done compiling.
[info] Running Main
Hello, sbt!
[success] Total time: 4 s, completed Jul 15, 2019, 4:47:34 PM
使用 sbt package
命令可以将项目打包为 Jar 包或者其他格式的文件。例如:
sbt:my-project> package
[info] Updating ...
[info] Done updating.
[info] Compiling ...
[info] Done compiling.
[info] Packaging ...
[info] Done packaging.
[success] Total time: 8 s, completed Jul 15, 2019, 5:03:51 PM
打包完成后,Jar 包会被保存到 target/scala-2.xx/
目录下,其中 2.xx
为编译所使用的 Scala 版本。具体文件名可以在 build.sbt
文件中进行配置。
SBT 是一个功能强大、易于配置的构建工具,被广泛地应用于 Scala 项目中。通过 sbt,开发者可以轻松地配置依赖关系、打包文件以及运行项目中的代码。同时,sbt 还支持插件化和多种构建变体等特性,使得开发者可以根据项目的需要来扩展和定制构建过程。