【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

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

1)通常

sbt Reference Manual — 実行

sbt commands Explanation
sbt (引数なし) sbt シェルが起動
sbt new プロジェクトを作成
sbt clean (target ディレクトリにある)全ての生成されたファイルを削除
sbt compile メインのソース(src/main/scala と src/main/java )をコンパイル
sbt run * 実行 (sbt と同じ仮想マシン上で、プロジェクトのメインクラスを実行する)
sbt package Jar作成 (src/main/resources 内のファイルと src/main/scala と src/main/java からコンパイルされたクラスファイルを含む jar を作る)
sbt reload ビルド定義(build.sbt、 project/.scala、 project/.sbt ファイル)を再読み込みする。 ビルド定義を変更した場合に必要。
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

関連記事

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 ~ JAR作成/実行 ~
https://dk521123.hatenablog.com/entry/2023/10/12/200450
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