GAE/J+IntelliJでローカルサーバーのRemote Debug

Google App Engine(Standard)のローカルに実行されているアプリケーションをIntelliJ IDEA Community版でリモートデバッグする方法です。

pom.xmlの設定

pom.xmlの<plugin><configuration>に<jvmFlags>を追加します。
上の例ではsuspend=yになっていますが、このsuspendはデバッガが接続されるまでアプリケーションの起動を止めるかどうかを指定しています。[y]を指定するとデバッガを接続するまでアプリケーションは起動しません。[n]の場合は通常と同様に起動します。
起動時に自動的に実行される処理をデバッグするときは[y]にする必要があります。
それ以外は[n]にしておいて、必要な時にデバッガを接続する方が簡単です。[y]にしておくと、デバッガが必要ないときも、デバッガを接続するまでアプリケーションが起動しません。
参考URL)開発サーバーでアプリをテストする

Edit Configrationの追加

  1. [Run] > [Edit Configurations...]を選択します。
    IntellJの[Run] > [Edit Configurations...]メニュー
    [Run] > [Edit Configurations...]
  2. [+]を押します
    IntelliJの[Run] > [Edit configurations...]の[+]
    [Run] > [Edit Configurations...] > [+]
  3. [Remote]を選択します。
    IntelliJのEdit ConfigurationのRemote
    [Remote]を選択
  4. 名前(Name)を入力して、OKを押します。
    IntelliJのRemote設定画面
    Remote設定画面

アプリケーションを起動する

mvnコマンドでアプリケーションを起動します。下の例ではsuspend=yを指定しているのアプリケーションは起動しないでデバッガの起動を待っています。[n]を指定した場合は通常と同じように起動します。

デバッガを接続する

    [Run] > [Debug]でデバッガを接続します。
    IntelliJの[Run]-[Debug]メニュー
    [Run] > [Debug]
    これで、リモートデバッグが可能になります。
    後は普通のデバッグ時と同様にブレークなどが使えます。