実行 

このページではプロジェクトをセットアップした後の sbt の使い方を説明する。 君がsbt をインストールして、Hello, Worldか他のプロジェクトを作ったことを前提とする。

インタラクティブモード 

プロジェクトのベースディレクトリで、sbt を引数なしで実行する:

$ sbt

sbt をコマンドライン引数なしで実行するとインタラクティブモードで起動する。 インタラクティブモードにはコマンドプロンプト(とタブ補完と履歴も!)がある。

例えば、compile と sbt プロンプトに入力する:

> compile

もう一度 compile するには、上矢印を押して、エンターキーを押す。

君のプログラムを実行するには、run と入力する。

インタラクティブモードを終了するには、exit と入力するか、Ctrl+D (Unix) か Ctrl+Z (Windows) を押す。

バッチモード 

sbt のコマンドを空白で区切られたリストとして引数に指定すると sbt をバッチモードで実行することができる。 引数を取る sbt コマンドの場合は、コマンドと引数の両方を引用符で囲むことで一つの引数として sbt に渡す。 例えば、

$ sbt clean compile "testOnly TestA TestB"

この例では、testOnlyTestATestB の二つの引数を取る。 コマンドは順に実行される(この場合 cleancompile、そして testOnly)。

継続的ビルドとテスト 

編集〜コンパイル〜テストのサイクルを速めるために、ソースファイルを保存する度 sbt に自動的に再コンパイルを実行させることができる。

ソースファイルが変更されたことを検知してコマンドを実行するには、コマンドの先頭に ~ をつける。 例えば、インタラクティブモードで、これを試してみよう:

> ~ compile

このファイル変更監視状態を止めるにはエンターキーを押す。

先頭の ~ はインタラクティブモードでもバッチモードでも使うことができる。

詳しくは、Triggered Execution 参照。

よく使われるコマンド 

最もよく使われる sbt コマンドを紹介する。全ての一覧は Command Line Reference を参照。

clean target ディレクトリにある)全ての生成されたファイルを削除する。
compile src/main/scalasrc/main/java ディレクトリにある) メインのソースをコンパイルする。
test 全てのテストをコンパイルし実行する。
console コンパイル済のソースと依存ライブラリにクラスパスを通して、Scala インタプリタを開始する。 sbt に戻るには、:quit と入力するか、Ctrl+D (Unix) か Ctrl+Z (Windows) を押す。
run <argument>* sbt と同じ仮想マシン上で、プロジェクトのメインクラスを実行する。
package src/main/resources 内のファイルと src/main/scalasrc/main/java からコンパイルされたクラスファイルを含む jar を作る。
help <command> 指定されたコマンドの詳細なヘルプを表示する。コマンドが指定されていない場合は、 全てのコマンドの簡単な説明を表示する。
reload ビルド定義(build.sbtproject/*.scalaproject/*.sbt ファイル)を再読み込みする。 ビルド定義を変更した場合に必要。

タブ補完 

インタラクティブモードには、空のプロンプトの状態を含め、タブ補完がある。 sbt の特殊な慣例として、タブを一度押すとよく使われる候補だけが表示され、 複数回押すと、より多くの冗長な候補一覧が表示される。

履歴コマンド 

インタラクティブモードは、 sbt を終了して再起動した後でも履歴を覚えている。 履歴にアクセスする最も簡単な方法は矢印キーを使うことだ。以下のコマンドも使うことができる:

! 履歴コマンドのヘルプを表示する。
!! 直前のコマンドを再実行する。
!: 全てのコマンド履歴を表示する。
!:n 最後の n コマンドを表示する。
!n !: で表示されたインデックス n のコマンドを実行する。
!-n n個前のコマンドを実行する。
!string 'string' から始まる最近のコマンドを実行する。
!?string 'string' を含む最近のコマンドを実行する。