IntelliJ IDEA 2024.3 ヘルプ

Spring Boot 実行構成

Spring Boot 実行構成は、IntelliJ IDEA で Spring Boot アプリケーションを実行する方法を定義します。IDE は、メインクラスファイルからアプリケーションを実行するときに Spring Boot 実行構成を作成します。詳細については、Spring Boot アプリケーションを実行するを参照してください。

Spring Boot 実行構成を作成する

  1. メインメニューで、実行 | 実行構成の編集に移動します。

  2. 実行 / デバッグ構成ダイアログで、the Add button をクリックし、Spring Boot を選択します。

The Spring Boot run configuration

名前

実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。

実行

構成を実行するターゲット環境を選択します。アプリケーションをローカルで実行するほかに、SSH 経由でリモートマシン上で実行するか、Docker コンテナーで実行するかを選択できます。詳細については、ターゲットの実行を参照してください。

プロジェクトファイルとして保存

他のチームメンバーと共有できるファイルに実行構成設定を保存します。デフォルトの場所は .idea/runConfigurations です。ただし、.idea ディレクトリを共有したくない場合は、構成をプロジェクト内の他のディレクトリに保存できます。

デフォルトでは、このオプションは無効になっており、IntelliJ IDEA は実行構成設定を .idea/workspace.xml に保存します。

必須オプション

Spring Boot アプリケーションを実行するには、次のオプションが必須です。

JRE

IntelliJ IDEA がアプリケーションの実行に使用するランタイム環境を指定します。デフォルトでは、IntelliJ IDEA はモジュールの依存関係から利用可能な最新の JDK を使用します。

メインクラス

実行するクラスの完全修飾名を指定します。

オプションを変更

オプションを変更をクリックして、構成を実行するための追加オプションを選択します。

Modify options of a Spring Boot run configuration

Spring

次のオプションは、実行中の Spring Boot アプリケーションに固有のものです。

有効なプロファイル

どの Spring プロファイルをアクティブにするかを指定します。

これにより、コマンドラインで -Dspring.profiles.active が渡され、 spring.profiles.active プロパティがオーバーライドされます。

詳細は、Spring Boot: プロファイルを参照してください。

デバッグ出力を有効にする

デバッグ出力のロギングを有効にします。

これにより、コマンドラインで -Ddebug が渡されます。これは、 debug プロパティの設定に似ています。

詳細は、Spring Boot: ロギングを参照してください。

バナーの非表示

起動バナーを完全に無効にします。

これにより、コマンドラインで -Dspring.main.banner-mode=OFF が渡されます。これは、 spring.main.banner-mode プロパティを off に設定するのと同様です。

詳細は、Spring Boot: バナーのカスタマイズを参照してください。

起動の最適化を無効にする

アプリケーションの起動時間を高速化しないでください。

デフォルトでは、この最適化は、コマンドラインで次の JVM オプションを渡すことによって有効になります: -XX:TieredStopAtLevel=1 および -noverify (後者は JDK 13 以降のバージョンでは非推奨です)。これにより、アプリケーションの起動時間が短縮されますが、長期的なパフォーマンスとセキュリティが犠牲になります。開発環境では有効にしておくことができますが、本番環境では無効にできます。

JMX エンドポイントを無効にする

実行ツールウィンドウのアクチュエータータブにアプリケーションエンドポイントデータを表示する JMX エージェントを無効にします。

デフォルトでは、コマンドラインで次の JVM オプションを渡すことにより、JMX エージェントが有効になります。

  • -Dcom.sun.management.jmxremote

  • -Dspring.jmx.enabled=true

  • -DSpring.liveBeansView.mbeanDomain

  • -Dspring.application.admin.enabled=true

  • -Dmanagement.endpoints.jmx.exposure.include=*

これにより、アプリケーションの起動が遅くなります。JMX エージェントを無効にすると、上記のオプションはコマンドラインに追加されません。

詳細については、Spring: JMX を参照してください。

'更新' アクション時

コードを変更し、実行中のアプリケーションを更新する場合の動作を指定します。

  • 何もしない : アプリケーションを更新しないでください。

  • リソースの更新 : 変更されたすべてのリソースファイルを更新します。

  • クラスとリソースの更新 : 変更されたすべてのリソースファイルを更新し、変更されたすべての Java クラスを再コンパイルします。

    デバッグ時に、IntelliJ IDEA は更新されたクラスをデプロイして再ロードします。詳細については、修正されたクラスを再ロードするを参照してください。それ以外の場合、アプリケーションを定期的に実行する場合、IntelliJ IDEA は出力フォルダー内の変更されたクラスのみを更新します。実行中のアプリケーションにそのようなクラスをデプロイおよび再ロードするかどうかは、使用している Java ランタイムの機能によって異なります。

  • トリガーファイルの更新 : コマンドラインで -Dspring.devtools.restart.trigger-file=.restartTriggerFile を渡し、.restartTriggerFile ファイルを更新します。これにより、再起動チェックが開始されます。アプリケーションは、何かする必要がある場合にのみ再起動します。

  • クラスのホットスワップと失敗時のトリガーファイル更新 : これは、クラスとリソースの更新の後にトリガーファイルの更新が続くのと似ています。

フレーム切り替え時 :

IntelliJ IDEA から別のアプリケーション (Web ブラウザーなど) に切り替えたときの動作を指定します。

  • 何もしない : アプリケーションを更新しないでください。

  • リソースの更新 : 変更されたすべてのリソースファイルを更新します。

  • クラスとリソースの更新 : 変更されたすべてのリソースファイルを更新し、変更されたすべての Java クラスを再コンパイルします。

    デバッグ時に、IntelliJ IDEA は更新されたクラスをデプロイして再ロードします。詳細については、修正されたクラスを再ロードするを参照してください。それ以外の場合、アプリケーションを定期的に実行する場合、IntelliJ IDEA は出力フォルダー内の変更されたクラスのみを更新します。実行中のアプリケーションにそのようなクラスをデプロイおよび再ロードするかどうかは、使用している Java ランタイムの機能によって異なります。

構成プロパティのオーバーライド

JVM オプションとして渡すことで、任意の構成プロパティをオーバーライドします。例: spring.config.name プロパティの値を my.config でオーバーライドすると、IntelliJ IDEA は、この Spring Boot アプリケーションの実行時にコマンドラインで -Dspring.config.name=my.config を渡します。

オペレーティングシステム

次のオプションは、オペレーティングシステムに関連しています。

複数のインスタンスを許可する

この実行構成の複数のインスタンスを同時に実行できるようにします。デフォルトでは、このオプションは無効になっています。つまり、構成を実行すると、構成の他のアクティブなセッションが終了します。

作業ディレクトリ

すべての相対入出力パスに使用されるディレクトリを指定します。デフォルトでは、IntelliJ IDEA はプロジェクトルートを作業ディレクトリとして使用します。

環境変数

この構成を実行するときに必要な環境変数の名前と値を指定します。

Java

次のオプションは、Spring アプリケーションの Java コンパイラーとランタイムに固有のものです。

実行前にビルドしない

ビルドプロセスを起動せずに、アプリケーションをすぐに実行します。

モジュールのクラスパスを使用

アプリケーションの実行にクラスパスを使用する必要があるモジュールを選択します。

クラスパスの変更

必要に応じて、別のクラスパスを指定するか、クラスパスから除外する依存関係を選択します。このオプションは、ランタイムクラスパスがコンパイルクラスパスと異なる場合 (デバッグライブラリ、別の場所など) に必要です。

Up および Down ボタンを使用して、リストの依存関係を並べ替えます。依存関係の順序は重要です。IntelliJ IDEA は、リストで指定されている順序で依存関係を処理します。

VM オプション

アプリケーションの起動時に Java 仮想マシンに渡すオプション ( -mx-verbose など) を指定します。

JVM オプションを指定するときは、次の規則に従ってください。

  • スペースを使用して個々のオプションを区切ります。

  • オプションの値にスペースが含まれる場合は、値または実際のスペースを二重引用符で囲みます。

  • オプションに値の一部として二重引用符が含まれている場合は、バックスラッシュを使用して二重引用符をエスケープします。

  • 環境変数の値をカスタム Java プロパティに渡すことができます。

-Xmx1024m -Dspaces="some arg" -Dmy.prop=\"quoted_value\" -Dfoo=${MY_ENV_VAR}

このフィールドでコード補完を使用します。フラグの名前を入力し始めると、IDE が使用可能なコマンドラインオプションのリストを提案します。これは、-XX: および -X オプション、および IntelliJ IDEA によって自動的に構成されない -ea などのいくつかの標準オプションでは機能しますが、-cp または – release では機能しません。

このフィールドで指定された -classpath オプションは、モジュールのクラスパスをオーバーライドします。

プログラム引数

コマンドライン引数をアプリケーションに渡します。

“provided” スコープを持つ依存関係をクラスパスに追加する

provided スコープの依存関係をランタイムクラスパスに追加します。

このオプションは、Spring Boot 実行構成でデフォルトで有効になっています。

コマンドラインを短縮

クラスパスが長くなりすぎる場合、または OS のコマンドラインの長さの制限を超える VM 引数が多数ある場合に、コマンドラインを短縮するために使用される方法を選択します。オプションの選択はクラスローダの実装に依存します。いくつかのフレームワークは JAR マニフェストをサポートしていませんが、カスタムクラスローダーを持つ他のフレームワークは classpath.file オプションでうまく動作しないでしょう。

  • なし : IntelliJ IDEA は長いクラスパスを短縮しません。コマンドラインが OS の制限を超えると、IntelliJ IDEA はアプリケーションを実行できなくなり、短縮方法の指定を促すメッセージが表示されます。

  • JAR マニフェスト : IntelliJ IDEA は一時的な classpath.jar を介して長いクラスパスを渡します。元のクラスパスは、manifest ファイルで classpath.jarclass-path 属性として定義されています。一時的な classpath.jar のクラスパスだけでなく、この方法を使用して短縮された場合、コマンドライン全体をプレビューすることができます。

  • classpath.file : IntelliJ IDEA は、長いクラスパスをテキストファイルに書き込みます。

  • @argFiles (Java 9 以降) : コマンドラインの長さの制限は @argument ファイルオプション(英語)を使用することで克服されます。

ログ

次のオプションは、この構成の実行のログ記録に関連しています。詳細については、ログを参照してください。

項目

説明

コンソールで表示するログファイルの指定

アプリケーションの実行中に表示するログファイルを指定します。

the Add button をクリックして新しいログを追加します。ログファイルエイリアスの編集ダイアログで、次のように構成します。

  • エイリアス : ログが表示されるタブの名前。

  • ログファイルのロケーション : ログファイルまたは Ant パターン(英語)へのパスを指定します。ローリングログの複数のファイルがパターンに一致する場合、IntelliJ IDEA は最新のファイルを表示します。

  • パターンでカバーできるすべてのファイルを表示する : パターンに一致するすべてのログを表示します。

テーブル内のログについては、次のオプションを構成できます。

  • アクティブ : 指定したログファイルを表示します。

  • 内容のスキップ : 以前の実行からの古いログメッセージを表示しません。

コンソール出力をファイルに保存する

コンソール出力を指定した場所に保存します。パスを手動で入力するか、参照ボタンをクリックして、開いたダイアログで目的の場所をポイントします。

メッセージが標準出力に出力されたときにコンソールを表示する

アプリケーションが標準出力ストリームに書き込む際にコンソールを有効化します。

メッセージが標準エラーに出力されたときにコンソールを表示する

アプリケーションが標準エラーストリームに書き込む際にコンソールを有効化します。

コードカバレッジ

次のオプションはコードカバレッジに関連しています。詳細については、コードカバレッジを参照してください。

項目

説明

クラスとパッケージを指定する

このテーブルでは、測定するクラスとパッケージを指定します。the Add button をクリックし、指定する the Add Class button クラスの追加または the Add Package button パッケージの追加を選択します。リストでクラスとパッケージを選択し、remove the package ボタンをクリックして、リストからクラスとパッケージを削除することもできます。

クラスとパッケージを除外する

カバレッジから除外するクラスとパッケージを指定します。

the Add button をクリックし、the Add Class button クラスの追加または the Add Package button パッケージの追加を選択して、クラスとパッケージを指定します。

起動前

この領域では、選択した実行 / デバッグ構成を開始する前に実行するタスクを指定できます。タスクは、リストに表示されている順序で実行されます。

項目

説明

起動前タスクの追加

このオプションを有効にして、次の使用可能なタスクのいずれかを追加します。

  • Web ブラウザーの起動 : ブラウザーを起動するにはこのオプションを選択します。開いたダイアログで、ブラウザーの種類を選択し、開始 URL を入力します。また、ブラウザーを JavaScript デバッガーで起動するかどうかを指定します。

  • 外部ツールの実行 : 外部アプリケーションを実行します。開いたダイアログで、実行する 1 つまたは複数のアプリケーションを選択します。IntelliJ IDEA でまだ定義されていない場合は、定義を追加します。詳細については、「外部ツール」を参照してください。

  • 別の構成を実行 : 別の実行 / デバッグ構成を実行することを選択し、それが完了するまで待ってから現在の構成を開始します。複数の構成を並行して実行する場合は、複合実行 / デバッグ構成を使用してください。

  • リモート外部ツールの実行 : リモート SSH 外部ツールを追加します

  • Gradle タスクの実行 : Gradle タスクを実行します。開いたダイアログで、タスクを指定し、必要に応じて追加の構成を提供します。

  • ビルド : 指定されたモジュールをコンパイルするために選択します。モジュールのビルドアクションが実行されます。

    コンパイル中にエラーが発生すると、IntelliJ IDEA は実行 / デバッグ構成を開始しようとしません。

  • プロジェクトのビルド : プロジェクト全体をコンパイルすることを選択します。プロジェクトのビルドアクションが実行されます。

    コンパイル中にエラーが発生すると、IntelliJ IDEA は実行 / デバッグ構成を開始しようとしません。

  • ビルド、エラーチェックなし : ビルドオプションと同じですが、IntelliJ IDEA はコンパイル結果に関係なく実行 / デバッグ構成を開始しようとします。

  • アーティファクトのビルド : このオプションを選択して、アーティファクトを作成します。開いたダイアログで、構築する必要のある 1 つまたは複数のアーティファクトを選択します。

  • Maven ゴールの実行 : Maven ゴールを実行するには、このオプションを選択します。開いたダイアログで、実行するゴールを選択します。

  • Grunt タスクの実行 : Grunt タスクを実行するには、このオプションを選択してください。

    表示される Grunt タスクダイアログで、必要なタスクが定義されている Gruntfile.js を指定し、実行するタスクを選択して、Grunt ツールに渡す引数を指定します。

    Node.js インタープリターの場所、渡すパラメーター、grunt-cli パッケージへのパスを指定します。

  • gulp タスクの実行 : Gulp タスクを実行するには、このオプションを選択してください。

    表示される Gulp タスクダイアログで、必要なタスクが定義されている Gulpfile.js を指定し、実行するタスクを選択して、Gulp ツールに渡す引数を指定します。

    Node.js インタープリターの場所、それに渡すパラメーター、gulp パッケージへのパスを指定します。

  • npm スクリプトの実行 : npm スクリプトを実行するには、このオプションを選択してください。

    開いた NPM スクリプトダイアログで、npm 実行 / デバッグ構成設定を指定します。

  • TypeScript のコンパイル : 組み込み TypeScript コンパイラーを実行するように選択し、TypeScript コードに加えたすべての変更が生成された JavaScript ファイルに反映されるようにします。表示される TypeScript のコンパイル設定ダイアログで、エラーの確認チェックボックスを選択または選択解除して、エラーが検出された場合のコンパイラーの動作を設定します。

    • エラーの確認チェックボックスが選択されていると、コンパイラーはすべてのエラーを表示し、実行構成は開始されません。

    • エラーの確認チェックボックスがオフの場合、コンパイラーは検出されたすべてのエラーを表示しますが、実行構成は起動されます。

  • データソースの切断 : 実行 / デバッグ構成を実行する前にデータソースへの接続を中断する場合は、このオプションを選択します。

開始時に実行 / デバッグツールウィンドウを開く

構成のタイプに応じて、この実行構成を開始するときに実行デバッグサービスツールウィンドウを開きます。このオプションが無効になっている場合は、ツールウィンドウを手動で開くことができます。

  • 表示 | ツールウィンドウ | 実行または Alt+4

  • 表示 | ツールウィンドウ | デバッグまたは Alt+5

  • 表示 | ツールウィンドウ | サービスまたは Alt+8

開始時に実行 / デバッグツールウィンドウにフォーカス

テストの実行中は、実行構成ツールウィンドウにフォーカスを当てます。

開始前に実行 / デバッグ構成を表示する

実際に起動する前に、実行構成設定を表示します。

関連ページ:

Spring Boot

Spring Boot は、Spring アプリケーションの初期構成を簡素化する Spring フレームワークの拡張です。これにより、最小限のデフォルト設定で動作するスタンドアロン Spring アプリケーションをすばやく作成できます。Spring Initializr は、Spring Boot プロジェクトを生成できる Web アプリケーションです。ビルドツール、言語、Spring Boot フレームワークのバージョン、プロジェクトの依存関係など、必要な構成を選択できます。IntelliJ IDEA...

ターゲットの実行

特定の実行 / デバッグ構成については、クラウドや Docker コンテナーなどの別の環境でコードを IntelliJ IDEA から直接実行できます。この機能を使用すると、アプリが対象とする実際の環境に対して変更を即座にテストできます。これにより、本番環境に移行する際に非互換性がなくなることが保証されます。これは、環境に依存するコードで作業する場合に特に重要です。この機能により、何かが変更されるたびにアプリをデプロイして実行するために通常必要な追加のアクションも不要になります。前提条件:アプリの...

プログラムの実行フローを変更する

アプリケーションをデバッグする際は、通常、プログラムの通常のフローに従います。ただし、通常のフローから逸脱する必要がある場合もあります。これは、特定の条件を再現したり、プログラムがや例外などの特殊なケースをどのように処理するかをテストしたりするために必要になることがあります。また、現在調査している問題に関係のないプログラムの特定の部分をスキップする必要がある場合にも便利です。前のスタックフレームに戻る:IntelliJ IDEA を使用すると、プログラムの実行フローで前のスタックフレームに戻る...

ログ

アプリケーションを実行すると、関連するローカルログファイルを実行またはデバッグツールウィンドウの別のタブで表示できます。IntelliJ IDEA が表示するログを識別するには、それぞれの実行 / デバッグ構成でログを指定する必要があります。ログ設定:実行 / デバッグ構成の種類に応じて、オプションを変更ボタンをクリックするか、ログタブを開くことでログにアクセスできます。どちらもない場合は、選択した実行 / デバッグ構成の種類がログをサポートしていないことを意味します。ログを追加する:...

コードカバレッジ

IntelliJ IDEA のコードカバレッジを使用すると、特定の実行中に実行されたコード行を分析できます。これにより、テストでカバーされたコードの割合を決定し、テストカバレッジが不十分な領域を特定できます。Java のコードカバレッジプラグインを有効にするこの機能は、デフォルトで IntelliJ IDEA にバンドルされ有効になっている Code Coverage for Java プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してくださ...

外部ツール

サードパーティのコマンドラインアプリケーションを外部ツールとして構成して、IntelliJ IDEA から実行します。例: ワークフローでは、特定のスクリプト、コードジェネレーター、アナライザー、プリプロセッサーまたはポストプロセッサー、データベースユーティリティなどの実行が必要になる場合があります。外部ツールとして構成することにより、IntelliJ IDEA は専用のアクションを提供します。これは、メインメニューや特定のコンテキストメニューから実行したり、ショートカットを割り当てたり、特定の...