5

Maven Webアプリケーションを開発するとき、私は通常jetty-maven-plugin、ローカルテストとデバッグのためにアプリケーションをすばやく起動するように頼ります。でlaunchを使用するとm2eclipse、Mavenによってダウンロードされたとしても、デバッグ用のすべてのソースが適切に含まれないという欠点があります(ソースルックアップが機能しないようですを参照)。

EclipseでMavenWebアプリケーションをデバッグするための推奨される方法は何ですか?特に、で動作する構成をいただければ幸いgwt-maven-pluginです。

4

2 に答える 2

7

m2eclipseを使用してWebアプリケーションを開発するための私の好ましい方法は、...使用しないことです。代わりに、以下に引用しているEclipseのMavenJettyプラグインを使用したデバッグで説明されているアプローチを使用します。

ステップ1

「ファイル名を指定して実行」メニューバーの「実行/外部ツール/外部ツール...」メニュー項目に移動し、「プログラム」を選択して「新規」ボタンをクリックします。「メイン」タブで「場所:」を入力します。 「」実行可能ファイルへのフルパスとしてmvn。「作業ディレクトリ:」の場合は、Webアプリケーションに一致するワークスペースを選択します。「引数:」の場合は、を追加しjetty:runます。

[環境]タブに移動し、[新規]ボタンをクリックしMAVEN_OPTSて、次の値で名前が付けられた新しい変数を追加します。

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y

suspend=n代わりに 提供する場合suspend=yは、デバッガーを実行せずにすぐに開始し、本当にデバッグしたいときにいつでもデバッガーを起動できます。

ステップ2

次に、「実行/デバッグ/デバッグ...」メニュー項目をプルアップし、「リモートJavaアプリケーション」を選択して「新規」ボタンをクリックします。[プロジェクト:]フィールドでWebアプリケーションプロジェクトを選択してダイアログに入力し、address=上記のプロパティで指定したものと同じポート番号を使用していることを確認します。

これで、実行/外部ツールを実行し、ステップ1で作成したMavenツールセットアップの名前を選択してプラグインを起動し、次に実行/デバッグしてステップ2でセットアップしたデバッグセットアップの名前を選択するだけです。

MavenメーリングリストでRolfStrijdhorstによって提供された指示から

突堤を止める

Jettyサーバーを停止するには、手順2のデバッグダイアログで[リモートVMの終了を許可する]をオンにする必要があります。Jettyサーバーを実行し、デバッガーを接続したら、デバッグパースペクティブに切り替えることができます。デバッグビューで、Java HotSpot(TM)クライアントVM [localhost:4000]を右クリックし、[終了]を選択します。これにより、デバッガーとJettyサーバーが停止します。

于 2009-10-08T10:24:52.737 に答える
3

デバッグするために何らかのコンテナを必要とするコードを記述しないようにしてください。常に独立して実行できるコードを記述し、デプロイのために非常に薄いレイヤーでラップします(薄いレイヤー->数行のコード->いくつかのバグ)。

本当に必要な場合は、MockRunnerを試してアプリサーバーをエミュレートしてください。

それ以外に、プロジェクトのプロパティにソースを手動で追加できます。

于 2009-10-08T08:41:45.173 に答える