score:31

Accepted answer

First of all, you have created the configuration files for Eclipse by using the play eclipsify YourProject command, right? (If not, see Play framework documentation for more information.)

After that, you should have a folder named eclipse in your project. In it, you should see commands Connect JDPA to YourProject.launch, YourProject.launch and Test YourProject.launch.

Right-click on the YourProject.launch and choose Run As --> YourProject from the pop-up menu. That will start your application. When the application is running, right-click on the Connect JDPA to YourProject.launch, and choose Debug As --> Connect JDPA to YourProject.launch from the pop-up menu. That will start a debug session on your application.

score:1

If you run "play eclipsify" on the project folder, it will create two run configurations. Looking at the run configuration details, you should check if the following line (or something similar) is in the "VM arguments":

-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"

Here you can configure the debugging port. With this config, I can attach to process using the instructuctions you have.

score:2

As of Play 2.1.2, I was getting the 'address in use' error when running play debug run.

The fix was to edit play.bat in play-2.1.2 directory and change these two lines:

:setDebug
set JPDA_PORT=9999

to

:setDebug
set JPDA_PORT=8551

Then in Eclipse, select Debug Configurations, find "Remote Java Application", do New. Then set port to 8551. Now you can start play using

play debug run

And then in Eclipse start debugging using the debug configuration you created about.

score:4

With activator, you'll need activator -jvm-debug <port number> ~run

score:4

I guess most of you are running the play framework with Typesafe Activator. If you are doing so, This may help you,

  1. activator -jvm-debug ~run

    Like : activator -jvm-debug 9999 ~run

(then It will start the debugger in 9999 port along with the app running in 9000 port.)

  1. Now go to eclipse and right click on the project name you want to debug and select Debug As -> Debug configuration.. -> (select)Remote Java Application -> new (top left an icon with tiny plus sign) -> connect specify port 9999 and debug.

score:7

Play 2.1-RC2 : Running Play! app that is synced with Eclipse

To make the project Eclipse compatible, got he project folder and then give command ">play eclipse". Now you can add it as an existing project form eclipse.

Then to run it you have to first run start play in the project folder i.e. command "play"

This will activate play server and identify the app in the project i.e. [appname]$ now you have to just give the command "run" to see your app running on the localhost:9000 or whichever port config you have specified.

Debug mode: To run this similarly you need first give command "play" then [appname]$ "play debug run" this will by default use port 9999 so when you go to localhost:9000 in your browser and in your eclipse file -> Debug As -> Debug configuration.. -> New Remote Java Application -> connect specify port 9999 and debug

score:115

As of Play 2.0, the eclipse folder and launchers are no longer generated when you run play eclipsify. After running play eclipsify, you can debug your project in Eclipse as follows:

  1. In a console outside of eclipse, run play debug run.
  2. In Eclipse, right-click your project, then choose Debug As -> Debug Configurations...
  3. Right-click Remote Java Application, then click New.
  4. The host should already be set to localhost. Set the port to 9999 (the default port used by the play debug run command).
  5. Click Apply to save, then Debug to connect to your running Play instance.

Related Query

More Query from same tag