一个合法的 sbt 项目可以在一个项目目录中包含单个文件。尝试创建一个包含hw.scala 文件的目录hello, 文件中的内容如下:
object Hi { def main(args: Array[String]) = println("Hi!") }现在可以进入目录 hello 运行 sbt 命令, 在sbt交互模式下运行run 命令, 具体的在 Unix或 OS X 中的命令如下:
$ mkdir hello $ cd hello $ echo 'object Hi { def main(args: Array[String]) = println("Hi!") }' > hw.scala $ sbt ... > run ... Hi!在这种情况下 sbt 完全遵循一套构建规则的,sbt 会自动根据规则进行构建,具体的规则如下:
默认情况下 sbt 构建的项目用的 scala 版本和 sbt 自身运行的scala版本是一样的,可以通过运行 sbt run 命令或 sbt console 进入 Scala REPL 模式下运行项目, sbt 会加载依赖的 classpath ,所以可以使用 sbt 直接运行测试项目。
许多项目都需要手动进行配置,最基本的配置一般都是定义在根目录的 build.sbt 文件中, 例如, 如果项目跟目录为 hello , 在 hello/build.sbt 中可能为:
name := "hello" version := "1.0" scalaVersion := "2.10.3"
需要注意的是每个配置项之间用空行分割,这个不仅仅是为了显示,实际上 sbt 需要根据空行来分割多个配置项的。在配置文件 .sbt 章节中你可以学到如何配置 build.sbt
如果你需要将项目打包成 jar 包,需要在 build.sbt 中指定名称和最新版本号。
可以强制使用某个 sbt 版本在构建项目的时候,需要在 hello/project/budil.properties 文件中配置:
sbt.version = 0.13.5强制使用 sbt 的 0.13.5 版本, 虽然sbt 版本间 99% 是兼容的,不过设置hello/project/budil.properties 指定 sbt 版本可以避免版本之间不兼容导致的一些潜在问题。