Depurar Playframework en Eclipse


Acabo de pasar de Netbeans a Eclipse. En Netbeans, puedo depurar aplicaciones de Playframework desde el primer momento. Sin embargo, en Eclipse, parece difícil configurar esto para depurar una aplicación web (una aplicación de Playframework en específico).

Como en el juego! documentación,

El lanzador principal solo se puede usar con el comando Ejecutar como eclipse. Usted a continuación, puede utilizar el "Conectar JPDA launcher "utilizando" Debug As " para iniciar un sesión de depuración en cualquier momento. Detener la sesión de depuración no detenga el servidor.

Sin embargo, no puedo ver "Connect JPDA launcher" en "Debug As" (estoy usando Eclipse Classic 3.7.0). He buscado sobre JPDA (soy nuevo en Java y no sé sobre" main launcher " y JPDA, luego config Remote Debug como instruct in http://javarevisited.blogspot.com/2011/02/how-to-setup-remote-debugging-in.html Pero está devolviendo un error:

No se pudo conectar a la máquina virtual remota. Conexión rechazada. Relación denegar: conectar

He buscado y encontrado algunas sugerencias como:

1.edición catalina.murciélago y la adición de las líneas: establecer JPDA_TRANSPORT = dt_socket ... establecer JPDA_ADDRESS = 8000 Y 2.Edición de inicio.llamada bat"% EXECUTABLE % " jpda start % CMD_LINE_ARGS %

En realidad no entiendo claramente esto y supongo que es para configurar Tomcat. Sin embargo, estoy usando Play! servidor predeterminado, comprobado la aplicación.conf y seguro de que está escuchando los puertos 9000 y 8000 para JPDA.

Por supuesto, he iniciado la aplicación Play antes de depurar, puedo acceder a la aplicación a través del puerto 9000 normalmente. Estoy usando Win 7 sin derechos de administrador.

¿Tiene una guía detallada sobre la depuración de juego! en Eclipse?

Author: Tommi, 2011-08-24

7 answers

En primer lugar, ha creado los archivos de configuración para Eclipse usando el comando play eclipsify YourProject, ¿verdad? (Si no, vea Play framework documentation para más información.)

Después de eso, debería tener una carpeta llamada eclipse en su proyecto. En él, usted debe ver comandos Connect JDPA to YourProject.launch, YourProject.launch y Test YourProject.launch.

Haga clic con el botón derecho en YourProject.launch y elija Run As --> YourProject en el menú emergente. Eso iniciará su solicitud. Cuando la aplicación se esté ejecutando, haga clic con el botón derecho en Connect JDPA to YourProject.launch y elija Debug As --> Connect JDPA to YourProject.launch desde el menú emergente. Eso iniciará una sesión de depuración en su aplicación.

 30
Author: Tommi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-24 10:35:06

A partir de Play 2.0, la carpeta eclipse y los lanzadores ya no se generan cuando se ejecuta play eclipsify. Después de ejecutar play eclipsify, puede depurar su proyecto en Eclipse de la siguiente manera:

  1. En una consola fuera de eclipse, ejecute play debug run.
  2. En Eclipse, haga clic con el botón derecho en su proyecto y luego elija Debug As -> Debug Configurations...
  3. Haga clic con el botón derecho en Remote Java Application y, a continuación, haga clic en New.
  4. El host ya debería estar establecido en localhost. Establezca el puerto en 9999 (el puerto predeterminado utilizado por el comando play debug run).
  5. Haga clic en Apply para guardar, luego Debug para conectarse a su instancia de reproducción en ejecución.
 114
Author: Mansoor Siddiqui,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-21 07:21:57

Jugar 2.1-RC2 : ¡Juego de Correr! aplicación que se sincroniza con Eclipse

Para que el proyecto Eclipse sea compatible, tiene la carpeta del proyecto y luego da el comando ">jugar eclipse". Ahora puede agregarlo como un proyecto existente de eclipse.

Luego, para ejecutarlo, primero debe ejecutar start play en la carpeta del proyecto, es decir, el comando "play"

Esto activará play server e identificará la aplicación en el proyecto, es decir, [appname]$ ahora solo tienes que dar el comando " ejecutar" para ver su aplicación ejecutándose en localhost: 9000 o cualquier configuración de puerto que haya especificado.

Modo de depuración: Para ejecutar esto de manera similar, primero debe dar el comando "play" y luego [appname] this "play debug run" esto usará por defecto el puerto 9999, por lo que cuando vaya a localhost:9000 en su navegador y en su archivo eclipse -> Debug As -> Debug configuration.. -> Nueva Aplicación Java remota - > conectar especificar puerto 9999 y depurar

 7
Author: user1997292,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-21 15:17:16

Con activador, necesitarás activator -jvm-debug <port number> ~run

 4
Author: 0fnt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-28 17:16:01

Supongo que la mayoría de ustedes están ejecutando el framework play con Typesafe Activator. Si usted está haciendo así, Esto puede ayudarle,

  1. Activator-jvm-debug ~run

    Me gusta: activator-jvm-debug 9999 ~run

(luego iniciará el depurador en el puerto 9999 junto con la aplicación ejecutándose en el puerto 9000.)

  1. Ahora vaya a eclipse y haga clic derecho en el nombre del proyecto que desea depurar y seleccione Depurar Como - > Depurar configuración.. -> (seleccionar)Remote Java Application - > new (arriba a la izquierda un icono con un signo más pequeño) - > connect especifique el puerto 9999 y depure.
 3
Author: Sagiruddin Mondal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-02 11:05:51

A partir de Play 2.1.2, estaba recibiendo el error 'address in use' al ejecutar play debug run.

La solución era editar la reproducción.bate en el directorio play-2.1.2 y cambia estas dos líneas:

:setDebug
set JPDA_PORT=9999

A

:setDebug
set JPDA_PORT=8551

Luego en Eclipse, seleccione Configuraciones de depuración, busque "Aplicación Java Remota", haga Nuevo. A continuación, establezca el puerto en 8551. Ahora puedes empezar a jugar usando

play debug run

Y luego en Eclipse comience a depurar usando la configuración de depuración que creó.

 2
Author: IanRae,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-20 14:41:54

Si ejecuta "play eclipsify" en la carpeta del proyecto, creará dos configuraciones de ejecución. Mirando los detalles de la configuración de ejecución, debe verificar si la siguiente línea (o algo similar) está en los "argumentos de 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"

Aquí puede configurar el puerto de depuración. Con esta configuración, puedo adjuntar al proceso usando las instructuctions que tiene.

 1
Author: javierhe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-08-24 10:39:41