【Scala】SBT ~ 基本編 / sbtコマンド ~

■ はじめに

https://dk521123.hatenablog.com/entry/2023/03/22/000000
https://dk521123.hatenablog.com/entry/2023/01/27/000000

の続き。
build.sbt の書き方について、メモ。

目次

【1】主な sbt コマンド一覧
 1)通常
 2)テスト関連
【2】主な sbt コマンド
 0)sbt new
 1)sbt reload
 2)sbt run
 3)sbt compile
 4)sbt dependencyTree
【3】Tips
 1)複数コマンドのエイリアス

【1】主な sbt コマンド一覧

1)通常

sbt command 説明
sbt (引数なし) sbt シェルが起動
sbt new プロジェクトを作成
sbt clean 全ての生成されたファイルを削除
sbt compile メインのソース(src/main/scala)をコンパイル
sbt run 実行
sbt package Jar作成
sbt reload ビルド定義の再読み込み
sbt console Scala インタプリタ(REPL; Read-Eval-Print-Loop. 対話型)を開始(:quit と入力するか、Ctrl+D (Unix) か Ctrl+Z (Windows))

2)テスト関連

sbt command 説明
sbt test 全テストをコンパイルし実行
sbt testOnly のみ、テスト実行
sbt testQuick 差分のみテスト実行

【2】主な sbt コマンド

0)sbt new

* プロジェクトを作成

構文

sbt new [テンプレート名]

1)sbt reload

* ビルド定義を再読み込みする

2)sbt run

* mainクラスを実行する
* 指定の仕方は、以下の通り。
~~~~~~~~~~~~~~~~~
[1] def main(args: Array[String]) で指定
[2] Appトレイトを継承したクラス本体
~~~~~~~~~~~~~~~~~

3)sbt compile

* コンパイルする

4)sbt dependencyTree

* 使用しているライブラリの依存関係も含めて、
 ツリー状で表示できる

コマンド例

sbt dependencyTree > out.txt

【3】Tips

1)複数コマンドのエイリアス

*  build.sbt に「addCommandAlias」を定義することにより
 例えば、一度のコマンド入力により、
 「sbt clean」-> 「sbt compile」が実行されるといったことを
 独自に定義できる
 => 詳細は、以下の関連記事を参照のこと

SBT ~ 基本編 / build.sbt ~
https://dk521123.hatenablog.com/entry/2023/01/27/000000

関連記事

SBT ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/22/000000
SBT ~ 基本編 / build.sbt ~
https://dk521123.hatenablog.com/entry/2023/01/27/000000
SBT ~ sbtプラグイン
https://dk521123.hatenablog.com/entry/2023/01/25/000000
SBTでのエラー/警告対応
https://dk521123.hatenablog.com/entry/2023/04/06/093458
Scala ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/03/10/193805
Scala ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/12/184331
Scala ~ 基本編 / Option型 ~
https://dk521123.hatenablog.com/entry/2023/03/09/000000
Scala ~ 基本編 / メソッド ~
https://dk521123.hatenablog.com/entry/2023/03/03/000000
Scala ~ 基本編 / クラス ~
https://dk521123.hatenablog.com/entry/2023/03/14/000857
Scala ~ 基本編 / コレクション ~
https://dk521123.hatenablog.com/entry/2023/03/13/000345
Scala ~ 基本編 / 日付・日時 ~
https://dk521123.hatenablog.com/entry/2023/03/08/000000
Scala ~ 基本編 / 正規表現
https://dk521123.hatenablog.com/entry/2023/03/18/034704
Scala ~ 基本編 / ジェネリック
https://dk521123.hatenablog.com/entry/2023/03/21/003817
Scala ~ ファイル名・パスの扱い ~
https://dk521123.hatenablog.com/entry/2023/03/11/000000
ScalaYAML
https://dk521123.hatenablog.com/entry/2023/03/16/012034
Spark/Scalaの開発環境構築 ~ Windows編 ~
https://dk521123.hatenablog.com/entry/2023/03/20/115450