元営業WEBエンジニアのアプリ開発日記

営業出身のWEB系エンジニアが気になったものから作ってはメモを残してくブログ

DockerのTomcatアプリケーションをEclipseからデバッグ

概要

Dockerで環境作る記事を書いてみたから、次はEclipseで開発するときに使ってるデバッグとかの小ネタをメモしとこう。ちなみにEclipseのversionはOxygen.1a Release (4.7.1a)でやってますー

EclipseからDockerのTomcatデバッグ

Dockerの設定

概要に貼り付けたリンクにもある通り、Docker環境作る際にTomcatの起動オプションに「jpda」を指定する。これで8000番ポートにアクセスするとデバッグできるようになる

/usr/local/tomcat/bin/catalina.sh jpda run

Eclipseの設定

デバッグの構成作成

[実行]→[デバッグの構成...]→[リモートJavaアプリケーション]→[左上の新規の起動構成]
上の手順でウィンドウ開いたら以下登録してデバッグをクリック

名前:[好きな名前を書く]
プロジェクト:[対象のプロジェクトを参照から選択]
接続タイプ:標準(ソケット接続)
接続プロパティー(ホスト):localhost
接続プロパティー(ポート):8000

ブレークポイント作成

Eclipseの止めたい場所の行数をダブルクリック
行番号の左に青丸ボタンができたらブレークポイント出来たってこと

デバッグ実施

ブラウザで対象のページにアクセスすると、Eclipseデバッグビュー状態で前面に出てきます。
あとはEclipse左上のステップオーバーを押しながら変数の中身を確認すればいいだけ!

Gradleでビルド→DockerのTomcatにデプロイ

昨日書いたDocker環境が前提ですが、以下のようにgradleでwarファイルを作成してTomcatのデプロイ先とリンクされたディレクトリにwarファイルを配置

./gradlew -x test clean build war && cp ./build/libs/tournament-0.0.1-SNAPSHOT.war ../docker/tomcat01/deployment/tournament.war

Eclipseからターミナルのgradleテストをデバッグ

ターミナルの設定

ターミナルでデバッグモードでgradleのテストを実行

./gradlew cleanTest test --debug-jvm

Eclipseの設定

デバッグの構成作成

[実行]→[デバッグの構成...]→[リモートJavaアプリケーション]→[左上の新規の起動構成]
上の手順でウィンドウ開いたら以下登録して適用をクリック

名前:[好きな名前を書く]
プロジェクト:[対象のプロジェクトを参照から選択]
接続タイプ:標準(ソケット接続)
接続プロパティー(ホスト):localhost
接続プロパティー(ポート):5005

ブレークポイント作成

Eclipseの止めたい場所の行数をダブルクリック
行番号の左に青丸ボタンができたらブレークポイント出来たってこと

デバッグ実行

[実行]→[デバッグの構成...]→[リモートJavaアプリケーション]→作成したデバッグを選択→デバッグをクリック
Eclipseデバッグビュー状態で前面に出てきます。
あとはEclipse左上のステップオーバーを押しながら変数の中身を確認すればいいだけ!

まとめ

DockerのTomcatEclipseからデバッグする方法を書きたかっただけだったんだけど
せっかくなんでデプロイやテストのデバッグもメモしときやした