はじめに
IntelliJでRun Configuration 使ってますか?
「このプロジェクト、どうやって起動するの?」って聞かれるたびに説明するの、地味にめんどくさいですよね。いや、そんなにめんどくさくないか。
.run ファイルを使えば、Run Configurationをプロジェクトに含めてGitで共有できます。
これがまじ便利なので紹介します。
やりたいこと
- Run Configurationをチームで共有したい
- プロジェクトをcloneしたらすぐ実行できる状態にしたい
- 複数の実行コマンドをまとめて一発で起動したい
.runファイルとは
Run Configurationの設定をXMLファイルとして保存したものです。
プロジェクト直下の .run ディレクトリに *.run.xml という形式で保存されます。
project/
├── .run/
│ ├── bootRun.run.xml # Spring Boot起動用
│ ├── test.run.xml # テスト実行用
│ └── all-services.run.xml # 複数サービス一括起動
├── src/
└── build.gradle.kts
このディレクトリをGitに含めれば、チーム全員が同じRun Configurationを使えます。
基本的な使い方
Step 1: Run Configurationを作成
vitestとかmakeコマンドとか実行すると
intelliJの右上のところに直近で実行したファイルが表示されます。

そこから.runファイルとして保存したいやつを選択して編集します。

上記の画面でプロジェクトファイルとして保存にチェックをいれると
.runディレクトリに.run/[設定名].run.xmlが自動生成されます。
Step 2: Store as project fileにチェック
ここが重要です。
Edit Configurations ダイアログ
├── Configuration タブ
│ └── 各種設定
└── ☑ Store as project file ← ①ここにチェック!
└── .run ← ②保存先ディレクトリ
| 番号 | 説明 |
|---|---|
| ① | このチェックを入れるとファイルとして保存される |
| ② | デフォルトで.runディレクトリに保存される |
チェックを入れると、.run/[設定名].run.xml が自動生成されます。
複数の実行をまとめる(Compound Run Configuration)
ここからが本題。
マイクロサービスとかで複数のアプリを同時に起動したいとき、1つずつポチポチするのめんどくさいですよね。
Compound Run Configuration を使えば、複数のRun Configurationをまとめて一発起動できます。
実行/デバッグ構成テンプレートから新規作成するときに下の方に 「複合」があるのでそれを選択します。
+ボタンを押して同時に起動したいrunファイルを選択します。
プロジェクトファイルとして保存にもわすれずにチェックをいれること。
選択したrunファイルがすべて同時に起動します。
Compoundは並列実行です。起動順序は保証されません。
順番に実行したい場合(Before Launch)
「DBのマイグレーション → アプリ起動」みたいに順番が大事な場合は Before Launch を使います。
各.runファイルの編集から

起動前の+をクリックして実行したい項目を選択してください。
Before Launchは前のタスクが正常終了(exit code 0)しないと次が実行されません。
常駐プロセスには向いていません。
まとめ
新メンバーがプロジェクトをcloneしてすぐ起動できる状態になるの、案外うれしいです。
地味だけどめっちゃ便利なので、ぜひ使ってみてください。
