一個合法的 sbt 項目可以在一個項目目錄中包含單個文件。嘗試創(chuàng)建一個包含hw.scala 文件的目錄hello, 文件中的內(nèi)容如下:
object Hi {
def main(args: Array[String]) = println("Hi!")
}
現(xiàn)在可以進入目錄 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 完全遵循一套構(gòu)建規(guī)則的,sbt 會自動根據(jù)規(guī)則進行構(gòu)建,具體的規(guī)則如下:
默認情況下 sbt 構(gòu)建的項目用的 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 需要根據(jù)空行來分割多個配置項的。在配置文件 .sbt 章節(jié)中你可以學到如何配置 build.sbt
如果你需要將項目打包成 jar 包,需要在 build.sbt 中指定名稱和最新版本號。
可以強制使用某個 sbt 版本在構(gòu)建項目的時候,需要在 hello/project/budil.properties 文件中配置:
sbt.version = 0.13.5
強制使用 sbt 的 0.13.5 版本, 雖然sbt 版本間 99% 是兼容的,不過設置hello/project/budil.properties 指定 sbt 版本可以避免版本之間不兼容導致的一些潛在問題。