Déboguer Playframework dans Eclipse

Je viens de passer de Netbeans à Eclipse. Dans Netbeans, je peux déboguer des applications Playframework par défaut. Cependant, dans Eclipse, il semble difficile de configurer ceci pour déboguer une application Web (une application Playframework en particulier).

Comme en jeu! Documentation,

Le lanceur principal est uniquement utilisable avec la commande Run As eclipse. Vous pouvez ensuite utiliser le lanceur «Connect JPDA» en utilisant «Debug As» pour démarrer une session de débogage à tout moment. L’arrêt de la session de débogage n’arrêtera pas le serveur.

Cependant, je ne vois pas «Connecter le lanceur JPDA» dans «Debug As» (j’utilise Eclipse Classic 3.7.0). J’ai cherché sur JPDA (je suis nouveau sur Java et je ne connais pas “lanceur principal” et JPDA, puis config Remote Debug en suivant les instructions de http://javarevisited.blogspot.com/2011/02/how-to -setup-remote-debugging-in.html Mais cela renvoie une erreur:

Échec de la connexion à la machine virtuelle distante. Connexion rejetée. Connexion refusée: connect

J’ai cherché et trouvé des suggestions comme:

1.) éditer catalina.bat et append les lignes: définir JPDA_TRANSPORT = dt_socket … définir JPDA_ADDRESS = 8000 ET 2.) Éditer l’appel startup.bat “% EXECUTABLE%” jpda start% CMD_LINE_ARGS%

En fait, je ne comprends pas bien cela et je suppose que c’est pour configurer Tomcat. Cependant, j’utilise Play! serveur par défaut, vérifié le fichier application.conf et assurez-vous qu’il écoute les ports 9000 et 8000 pour JPDA.

Bien sûr, j’ai lancé l’application Play avant de déboguer, je peux accéder à l’application via le port 9000 normalement. J’utilise Win 7 sans droits d’administrateur.

Avez-vous un guide détaillé sur le débogage Play! dans Eclipse?

Tout d’abord, vous avez créé les fichiers de configuration pour Eclipse en utilisant la commande play eclipsify YourProject , non? (Si ce n’est pas le cas, voir la documentation sur l’ infrastructure de jeu pour plus d’informations.)

Après cela, vous devriez avoir un dossier nommé eclipse dans votre projet. Vous devriez y voir les commandes Connect JDPA to YourProject.launch , YourProject.launch et Test YourProject.launch .

Cliquez avec le bouton droit sur YourProject.launch et choisissez Run As --> YourProject dans le menu contextuel. Cela va démarrer votre application. Lorsque l’application est en cours d’exécution, cliquez avec le bouton droit de la souris sur Connect JDPA to YourProject.launch et choisissez Debug As --> Connect JDPA to YourProject.launch dans le menu contextuel. Cela démarrera une session de débogage sur votre application.

A partir de Play 2.0, le dossier et les lanceurs eclipse ne sont plus générés lorsque vous exécutez play eclipsify . Après avoir exécuté play eclipsify , vous pouvez déboguer votre projet dans Eclipse comme suit:

  1. Dans une console en dehors d’eclipse, exécutez play debug run .
  2. Dans Eclipse, cliquez avec le bouton droit sur votre projet, puis choisissez Debug As -> Debug Configurations...
  3. Cliquez avec le bouton droit sur Remote Java Application , puis cliquez sur New .
  4. L’hôte doit déjà être défini sur localhost . Définissez le port sur 9999 (le port par défaut utilisé par la commande d’ play debug run ).
  5. Cliquez sur Apply pour enregistrer, puis sur Debug pour vous connecter à votre instance de lecture en cours d’exécution.

Jouer à 2.1-RC2: Jouer au jeu! application synchronisée avec Eclipse

Pour rendre le projet compatible avec Eclipse, récupérez le dossier du projet puis donnez la commande “> play eclipse”. Vous pouvez maintenant l’append en tant que formulaire de projet existant.

Ensuite, pour l’exécuter, vous devez d’abord lancer start play dans le dossier du projet, c’est-à-dire la commande “play”

Cela activera play server et identifiera l’application dans le projet, c’est-à-dire [appname] $ maintenant vous devez simplement donner la commande “run” pour voir votre application s’exécuter sur le localhost: 9000 ou n’importe quelle configuration de port spécifiée.

Mode de débogage: pour exécuter ceci de la même manière, vous devez d’abord donner la commande “play”, puis [appname] $ “play debug run”. Par défaut, le port 9999 sera utilisé dans votre navigateur et dans votre fichier eclipse. Debug As -> Debug configuration .. -> Nouvelle application Java distante -> connect spécifiez le port 9999 et le débogage

Avec activator, vous aurez besoin de l’ activator -jvm-debug ~run

Je suppose que la plupart d’entre vous exécutez la structure de jeu avec Typesafe Activator. Si vous le faites, cela peut vous aider,

  1. activateur -jvm-debug ~ exécuter

    Like: activator -jvm-debug 9999 ~ exécuter

(Ensuite, il démarrera le débogueur dans le port 9999 avec l’application exécutée sur le port 9000).

  1. Maintenant, allez à Eclipse et faites un clic droit sur le nom du projet que vous voulez déboguer et sélectionnez Debug As -> Debug configuration .. -> (select) Remote Java Application -> new (en haut à gauche une icône avec minuscule) – port 9999 et débogage.

À partir de la version 2.1.2, je recevais l’erreur “adresse utilisée” lors de l’exécution du jeu de débogage.

La solution consistait à modifier play.bat dans le répertoire play-2.1.2 et à modifier ces deux lignes:

 :setDebug set JPDA_PORT=9999 

à

 :setDebug set JPDA_PORT=8551 

Ensuite, dans Eclipse, sélectionnez Configurations de débogage, recherchez “Application Java distante”, puis cliquez sur Nouveau. Ensuite, définissez le port sur 8551. Maintenant, vous pouvez commencer à jouer en utilisant

 play debug run 

Et puis, dans Eclipse, lancez le débogage en utilisant la configuration de débogage que vous avez créée.

Si vous exécutez “play eclipsify” sur le dossier du projet, cela créera deux configurations d’exécution. En regardant les détails de la configuration d’exécution, vous devriez vérifier si la ligne suivante (ou quelque chose de similaire) se trouve dans les “arguments 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" 

Ici, vous pouvez configurer le port de débogage. Avec cette configuration, je peux attacher à traiter en utilisant les instructions que vous avez.