web-dev-qa-db-ja.com

EclipseでPlayフレームワークをデバッグする

NetbeansからEclipseに移行しました。 Netbeansでは、すぐにPlayframeworkアプリケーションをデバッグできます。ただし、Eclipseでは、Webアプリ(特定のPlayframeworkアプリ)をデバッグするためにこれを構成するのは難しいようです。

Playのように!ドキュメンテーション、

メインランチャーは、Run As Eclipseコマンドでのみ使用できます。その後、「Debug As」を使用して「Connect JPDA launcher」を使用すると、いつでもデバッグセッションを開始できます。デバッグセッションを停止しても、サーバーは停止しません。

ただし、「Debug As」に「Connect JPDA launcher」が表示されません(Eclipse Classic 3.7.0を使用しています)。 JPDAについて検索しました(Javaが初めてで、「メインランチャー」とJPDAがわからない場合は、 http:// javarevisited.blogspot.com/2011/02/how-to-setup-remote-debugging-in.html しかし、エラーを返しています:

リモートVMへの接続に失敗しました。接続拒否。接続は拒否:接続

私は検索して、次のような提案を見つけました。

1.)catalina.batを編集して行を追加します:set JPDA_TRANSPORT = dt_socket ... set JPDA_ADDRESS = 8000 AND 2.)editing startup.bat call "%EXECUTABLE%" jpda start%CMD_LINE_ARGS%

実際、私はこれを明確に理解していないので、Tomcatを設定するためだと思います。ただし、Play!を使用しています。デフォルトサーバー、application.confをチェックし、JPDAのポート9000と8000をリッスンしていることを確認します。

もちろん、デバッグする前にPlayアプリを起動しました。通常はポート9000からアプリにアクセスできます。管理者権限なしでWin 7を使用しています。

Playのデバッグに関する詳細なガイドはありますか? Eclipseで?

39
Thang Nguyen

まず、play eclipsify YourProjectコマンドを使用してEclipseの構成ファイルを作成しましたか? (そうでない場合、詳細については Play framework documentation を参照してください。)

その後、プロジェクトにEclipseという名前のフォルダーが必要です。その中に、コマンドConnect JDPA to YourProject.launchYourProject.launch、およびTest YourProject.launchが表示されます。

YourProject.launchを右クリックして、ポップアップメニューからRun As --> YourProjectを選択します。これでアプリケーションが起動します。アプリケーションの実行中に、Connect JDPA to YourProject.launchを右クリックし、ポップアップメニューからDebug As --> Connect JDPA to YourProject.launchを選択します。これにより、アプリケーションでデバッグセッションが開始されます。

30
Tommi

Play 2.0では、play eclipsifyを実行したときにEclipseフォルダーとランチャーが生成されなくなりました。 play eclipsifyを実行した後、次のようにEclipseでプロジェクトをデバッグできます。

  1. Eclipseの外部のコンソールで、play debug runを実行します。
  2. Eclipseでプロジェクトを右クリックし、Debug As -> Debug Configurations...を選択します
  3. Remote Java Applicationを右クリックし、Newをクリックします。
  4. ホストはすでにlocalhostに設定されているはずです。ポートを9999play debug runコマンドで使用されるデフォルトのポート)に設定します。
  5. Applyをクリックして保存し、Debugをクリックして実行中のPlayインスタンスに接続します。
114

2.1-RC2を再生:実行中のプレイ! Eclipseと同期されるアプリ

プロジェクトをEclipse互換にするために、プロジェクトフォルダーを取得し、コマンド「> play Eclipse」を指定します。これで、Eclipseから既存のプロジェクトとして追加できます。

それを実行するには、最初にプロジェクトフォルダでstart playを実行する必要があります。つまり、コマンド「play」

これにより、playサーバーがアクティブになり、プロジェクト内のアプリが識別されます。つまり、[appname] $コマンドを実行するだけで、localhost:9000または指定したポート設定でアプリが実行されていることがわかります。

デバッグモード:同様にこれを実行するには、最初にコマンド "play"を与え、次に[appname] $ "play debug run"を与える必要があります。これはデフォルトでポート9999を使用するため、ブラウザーとEclipseファイルでlocalhost:9000に移動すると-> Debug As-> Debug configuration ..-> New Remote Java Application->接続はポート9999を指定してデバッグします

7
user1997292

皆さんのほとんどがTypesafe Activatorでplayフレームワークを実行していると思います。あなたがそうしている場合、これはあなたを助けるかもしれません、

  1. アクティベーター-jvm-debug〜run

    のような:アクティベーター-jvm-debug 9999〜run

(その後、9000ポートで実行中のアプリとともに9999ポートでデバッガーを開始します。)

  1. Eclipseに移動して、デバッグするプロジェクト名を右クリックし、Debug As-> Debug configuration ..->(select)Remote Java Application- >新規(左上に小さなプラス記号の付いたアイコン)->接続ポート9999を指定してデバッグします。
4

アクティベーターを使用する場合は、activator -jvm-debug <port number> ~run

4
0fnt

Play 2.1.2の時点で、play debug runを実行すると、「使用中のアドレス」エラーが表示されました。

修正は、play-2.1.2ディレクトリのplay.batを編集し、次の2行を変更することでした。

:setDebug
set JPDA_PORT=9999

:setDebug
set JPDA_PORT=8551

次に、Eclipseで[Debug Configurations]を選択し、[Remote Java Application]を見つけて、Newを実行します。次に、ポートを8551に設定します。

play debug run

次に、作成したデバッグ構成を使用してEclipseでデバッグを開始します。

2
IanRae

プロジェクトフォルダーで "play eclipsify"を実行すると、2つの実行構成が作成されます。実行構成の詳細を見て、次の行(または同様のもの)が「VM引数」にあるかどうかを確認する必要があります。

-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
-Dplay.debug=yes
-Dplay.id=test -Dapplication.path="${project_loc:NMKServer}"
-Djava.endorsed.dirs="c:\Java\play-1.2.2/framework/endorsed"
-javaagent:"c:\Java\play-1.2.2/framework/play-1.2.2.jar"

ここで、デバッグポートを設定できます。この構成を使用して、お持ちの指導を使用してプロセスにアタッチできます。

1
javierhe