IntelliJ IDEA 2026.1 Help

sbt

sbt での作業

sbt プロジェクトをインポートまたは作成したら、その build.sbt ファイルをエディターで直接編集できます。 build.sbt では、コンパイラーオプション、サブプロジェクトに関する情報を指定し、タスクと設定を定義することもできます。 build.sbt ファイルを変更するたびに、変更内容を IntelliJ IDEA のプロジェクトモデルと同期する必要があります。

build.sbt に加えられた変更を自動的に同期するように、 ビルドスクリプトの変更後にプロジェクトを同期する オプションを構成できます。 このオプションにアクセスするには、 ファイル | 設定 | ビルド、実行、デプロイ | ビルドツール を選択します。

手動同期の場合は、 sbt プロジェクトツールウィンドウのツールバーで対応するアクション 更新 を使用します。

実行構成の前に実行するために、任意の sbt タスクをアタッチできることに注意してください。

既存の sbt プロジェクトを開く

新しいプロジェクトを作成するには、 New Project wizard を起動し、 Scalasbt の選択、プロジェクトのロケーションや JDK、sbt と Scala のバージョンの指定など、ウィザードの指示に従って進めます。 (sbt および Scala バージョンは自動で取得されます。)

現在 IntelliJ IDEA でプロジェクトが開かれていない場合は、'ようこそ' 画面で 開く をクリックします (そうでない場合は、メインメニューから ファイル | オープン を選択します)。 次に、ダイアログで、sbt プロジェクトの説明 build.sbt を含むファイルを選択します。 「OK 」をクリックし、次のダイアログで「プロジェクトとして選択 」をクリックします。

IntelliJ IDEA は IDE で sbt プロジェクトを開いて同期します。 プロジェクトを開くときにインポートオプションを調整する必要がある場合は、 sbt 設定を参照してください。

sbt および Scala バージョンの互換性を確保する

多くの場合、プロジェクトをチーム間で共有し、特定のバージョンの sbt を使用する必要があります。 プロジェクトの build.properties ファイルで sbt バージョンをオーバーライドできます。

sbt プロジェクトを作成するか 開きますプロジェクト ツールウィンドウの ソースルート ディレクトリで build.properties ファイルを見つけ、エディターで開きます。 次に、エディターで、プロジェクトで使用する sbt のバージョンを明示的に指定します。

sbt.version=xxx

プロジェクトを再インポートします。 (sbt ツールウィンドウで をクリックします。)

sbt プロジェクトの構造

sbt プロジェクトを作成またはインポートすると、IntelliJ IDEA は次の sbt 構造を生成します。

  • プロジェクトを定義し、 build.sbt ファイル、 src 、および ターゲットディレクトリ、モジュールを含む sbt プロジェクト(適切なビルド)。

    プロジェクトツールウィンドウ
  • sbt ビルドプロジェクトは、 project サブディレクトリ内に定義されています。 ビルド定義の一部となる追加のコードが含まれています。

    sbt ソースルート
  • sbt ツールウィンドウには、実行可能な sbt タスク、コマンド、設定が含まれています。

    sbt ツールウィンドウ

sbt プロジェクトを管理する

sbt プロジェクトで作業する場合、IntelliJ IDEA は sbt 構成を唯一の信頼できるソースと見なすため、 build.sbt ファイルを使用してプロジェクトに主な変更を加えます。

エディターで build.sbt を手動で変更するたびに、変更をロードする必要があります。 IntelliJ IDEA は、エディターの右側に、プロジェクト (Ctrl+Shift+O) の作成を sbt の変更を読み込む に提案する通知アイコンを表示します。

build.sbt ファイル: sbt の変更を読み込む

プロジェクトのインポートプロセスを制御する場合は、アクションを手動でトリガーするか、自動再読み込みプロセスを構成できます。

sbt プロジェクトを再ロードする

  1. sbt ツールウィンドウで、リンクされたプロジェクトを右クリックします。

  2. コンテキストメニューから プロジェクトの再ロード the Reload project icon を選択します。

    このアクションを呼び出すと、IntelliJ IDEA は sbt ツールウィンドウでプロジェクト構造を解析します。

    IntelliJ IDEA はプロジェクトの一部だけを再ロードすることはできません。サブプロジェクトと依存関係を含むプロジェクト全体を再ロードします。

自動再読み込みを構成する

  1. 設定 ダイアログ(Ctrl+Alt+S )で、 ビルド、実行、デプロイ | ビルドツール に移動します。

    または、 sbt ツールウィンドウで Build Tools Settings をクリックし、 自動再ロードの設定 オプションを選択します。

    sbt ツールウィンドウ
  2. ビルドツール 設定で、次のオプションを指定します:

    ビルドツール設定
    • ビルドスクリプトの変更を再読み込みする: このオプションはデフォルトで選択されています。 自動再ロードを無効にして再ロードプロセスを手動で制御する場合は、このチェックボックスをオフにします。

    • 任意の変更: build.sbt に加えた変更または外部の変更の後にプロジェクトを自動的に再ロードする場合は、このオプションを選択します。

      エディターで sbt ビルドスクリプトを手動で変更するたびに、変更をロードする必要があります。 IntelliJ IDEA は、エディターの右側に、プロジェクト (Ctrl+Shift+O) の作成を sbt の変更を読み込む に提案する通知アイコンを表示します。

      sbt ビルドスクリプト

      任意の変更 オプションを使用すると、IntelliJ IDEA はすべての変更を自動的に再ロードします。

    • 外部の変更: このオプションを選択すると、IntelliJ IDEA は、VCS が変更され、IDE の外部でビルドファイルが変更された後にのみ、プロジェクトを自動的に再ロードします。

  1. build.sbt を開きます。

  2. 次のコードを指定します。

    val localDep = RootProject(file("/path/to/project"))

    この場合の localDep は、ファイルシステムのどこかにあるプロジェクトであり、モジュールとしてインポートされます。

  3. プロジェクトを再ロードします。 (sbt ツールウィンドウで をクリックします。)

    IntelliJ IDEA は、追加されたプロジェクトを プロジェクト ツールウィンドウと sbt ツールウィンドウに表示します。

サブプロジェクトまたはモジュールを sbt プロジェクトに追加する

  1. エディターで build.sbt を開きます。

  2. 指定、例:

    lazy val sampleModule = (project in file("sampleModule"))

    この場合の "sampleModule" は、追加するサブプロジェクトです。 複数のサブプロジェクトを指定できます。

  3. プロジェクトを再インポートします。 (sbt ツールウィンドウで Reimport project をクリックします。)

    IntelliJ IDEA は、適切な情報を含むサブプロジェクトディレクトリを生成し、それを プロジェクト ツールウィンドウと sbt ツールウィンドウの両方に表示します。

サブプロジェクトを更新する

Scala のバージョンを変更したときにサブプロジェクトが自動的に更新されるようにするには、サブプロジェクトごとに commonSettings および 設定 メソッド呼び出しを指定します。

  1. build.sbt を開きます。

  2. たとえば、次のコードを指定します。

    lazy val commonSettings = Seq( organization := "com.example", version := "0.1.0-SNAPSHOT", scalaVersion := "2.12.6" ) lazy val moduleSample = (project in file("moduleSample")) .settings( commonSettings )

    適切な Scala バージョンが、 プロジェクト ツールウィンドウのサブプロジェクトのディレクトリと、サブプロジェクトの依存関係として sbt ツールウィンドウに追加されます。

sbt シェルを使用する

sbt シェルは sbt プロジェクトに組み込まれており、プロジェクトの開始時に利用できます。 sbt コマンドとタスクの実行、プロジェクトの実行とデバッグに sbt シェルを使用できます。

  • sbt シェルを開始するには、Windows の場合は Ctrl+Shift+S 、macOS の場合は ⌘+⇧+S を押します。 または、画面の下部にあるツールバーの sbt シェル をクリックします。

  • ビルドおよびインポート手順で sbt シェルを使用するには、 sbt 設定にある sbt シェルを使用する セクションを選択し、 sbt シェルを使用して Scala アプリケーションを実行するセクションで説明されている手順を実行します。

  • デバッグに sbt シェルを使用するには、 sbt シェルによるデバッグのセクションを参照してください。

  • sbt シェルからテストを実行するには:

    1. 実行 / デバッグ構成(実行 | 実行構成の編集 )を開きます。

    2. テスト構成を作成し、使用可能な設定から sbt を使用する オプションを選択します。

sbt タスクを実行する

  • sbt タスク ツールウィンドウの sbt ディレクトリから必要なタスクを選択して、sbt タスクを実行できます。

  • sbt シェルに手動でタスク(コード補完がサポートされている)を手動で入力し、そこから直接実行することができます。

  • タスクの実行構成を作成できます。 例: sbt ツールウィンドウにあるタスクリストの一部ではないカスタムタスクを作成できます。

    1. Alt+Shift+F10 を押して、実行構成を開きます。

    2. 実行構成設定を指定し、 OK をクリックします。 必要に応じて、構成を実行する前に実行する別の構成またはタスクを追加できます。 起動前 セクションの 追加アイコン をクリックし、表示されるリストから実行する必要があるものを選択します。

  • 集中モード(ツールバーやツールウィンドウなし)で作業している場合、 なんでも実行 ウィンドウから sbt タスクやコマンドを実行できます。 Ctrl を 2 回押してウィンドウを開き、コマンドを入力して Enter を押します。

IntelliJ IDEA は sbt シェル ウィンドウに結果を表示します。

sbt 設定を操作する

sbt 設定を使用して、sbt プロジェクト、sbt バージョン、プロジェクトの変更のインポートなどのビルドおよび実行アクションを構成します。

sbt 設定にアクセスする

  1. Ctrl+Alt+S を押して設定を開き、 ビルド、実行、デプロイ | sbt を選択します。

  2. sbt ツールウィンドウのツールバーの sbt 設定 をクリックして、sbt 設定にアクセスします。

ウィンドウは、 一般設定sbt プロジェクト の 2 つのセクションに分かれています。

一般設定

一般設定 セクションで、次のオプションを設定できます。

sbt 一般設定

項目

説明

JRE (J)

このプロジェクトを実行する JRE を、ドロップダウンリストから選択するか、カスタムの場所を指定して選択してください。 これはデフォルトのプロジェクト SDK よりも優先されます。

最大ヒープサイズ

sbt の起動時に割り当てられる最大ヒープサイズを指定します。

VM parameters

sbt に渡す JVM パラメーターを指定します。 JVM オプションは、 JAVA_OPTS 環境変数またはプロジェクトルートにある .jvmopts ファイルで定義できます。 IntelliJ IDEA の設定で指定されたオプションが最も優先され、次に .jvmopts ファイル、 JAVA_OPTS 環境変数で指定されたオプションが優先されます。

Sbt options

sbt に渡す sbt オプションを指定します。 利用可能なすべてのオプションを表示するには、 sbt --help を実行します。 sbt オプションは、 SBT_OPTS 環境変数またはプロジェクトルートにある .sbtopts ファイルで定義できます。 これらのオプションの優先順位は、JVM パラメーターと同じルールに従います。

Environment variables

sbt プロセスに挿入する環境変数を指定します。

Launcher (sbt-launch.jar)

カスタム sbt ランチャーを指定します。 デフォルトでは、IntelliJ IDEA はバンドルされている sbt-launch.jar を使用します。

sbt プロジェクト

sbt プロジェクト セクションで、次のオプションを設定できます。

sbt プロジェクト設定

項目

説明

ダウンロード

sbt からプロジェクトを再ロードするときにソースをダウンロードするためのオプションを 1 つ選択します。

  • Library sources: プロジェクトのライブラリ依存関係のソースをダウンロードします。

  • sbt sources: sbt と sbt プラグインのソースをダウンロードします。

Open cross-compiled Scala 3 / Scala 2 projects as Scala 2

Scala 2 と Scala 3 の両方に対してクロスコンパイルされたプロジェクトを Scala 2 として開くには、このオプションを選択します。

Use separate compiler output paths

sbt で使用されるものとは異なるクラスファイルディレクトリをコンパイルに使用するには、このオプションを選択します。

メインリソースとテストリソースに別々のモジュールを作成する

メインソースとテストソースを別々のモジュールに整理するには、このオプションを選択します。 詳細については、 ブログ投稿(英語)を参照してください。

sbt shell

チェックボックスを使用して、プロジェクトの再ロードとビルドでの sbt シェルの使用を制御します。

Generate managed sources during project sync

プロジェクトの同期中にプロジェクトで有効になっているソースジェネレーターによって管理されるソースを生成するように sbt に指示します (例: sbt-buildinfo、abt-twirl、その他の同様の sbt プラグイン)。 アクションとしても利用できます。

Enable debugging

このオプションを選択すると、sbt シェルがデバッグ可能なプロセスとして起動します。 これにより、sbt シェルで実行されている sbt プラグインのコードとテストをデバッグできます。

最も一般的な sbt の問題と回避策を確認するには、 sbt のトラブルシューティングセクションを参照してください。

sbt の Package Checker サポート

Package Checker は、サードパーティ依存関係に既知の脆弱性がないかをチェックするプラグインです。 利用可能な場合は、安全なバージョンを提案し、コードの安全性を高めます。 また、ソースコードをスキャンして脆弱な API 呼び出しを検出し、最も重大な問題をハイライトします。 このプラグインは IntelliJ IDEA にバンドルされています。

Package Checker で検出された問題は、 問題 | 脆弱な依存関係},{ タブに報告されます。 このプラグインは 解析 | 脆弱な依存関係アクション。 も提供します。

ここでは、Package Checker が org.apache.commons % commons.io % 1.3.2 の脆弱性をどのように説明するかを確認できます。

Package Checker の脆弱な依存関係ビュー

詳細は、 脆弱で悪意のある依存関係を見つけるを参照してください。

メインモジュールとテストモジュールを分離する。

Scala プラグインを使用すると、IntelliJ IDEA で sbt プロジェクトを操作するための新しい実験的なモードが追加されました。 有効にすると、メインソースとテストソースが別々のモジュールに整理され、コンパイルと依存関係の管理が改善されます。

個別モジュールモードを有効にする

  1. Ctrl+Alt+S を押して設定を開き、 ビルド、実行、デプロイ | ビルドツール | sbt を選択します。

  2. メインソースとテストソース用に別々のモジュールを作成する オプションを有効にします。

    メインソースとテストソース用に別々のモジュールを作成する
  3. OK をクリックします。 プロジェクトが自動的に再読み込みされ、新しいモジュールが作成されます。

  4. 再ロード後、モジュールを参照する各実行構成は、対応するメインモジュールまたはテストモジュールに切り替わります。 まれに、実行構成内のモジュールを自動的に変更できない場合があります。

    このような場合は、 実行構成を新しいモジュール命名スキームに更新する アクションを明示的に使用して実行構成を更新できます。 このアクションは、「アクションの検索」メニューの「Ctrl+Shift+A 」を使用するか、メインメニューの「ツール | Scala 」に移動することで見つけることができます。

    実行構成を新しいモジュール命名スキームに更新する

この新しいモードが sbt プロジェクトの構成にどのように役立つかの詳細と例については、JetBrains ブログの sbt プロジェクトの新しいモジュールレイアウト(英語)の記事を参照してください。

2026 年 3 月 30 日