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のTomcatをEclipseからデバッグする方法を書きたかっただけだったんだけど
せっかくなんでデプロイやテストのデバッグもメモしときやした