12
votes

La meilleure façon de déboguer l'application Web Java emballées comme une guerre en utilisant Eclipse et Maven?

Je n'ai pas construit une application Web Java auparavant, mais je l'ai assez complète pour tester et Maven construit mon fichier de guerre tout simplement bien. Il s'agit d'un projet Multi-module Maven et des modules dépendants ont tous des fichiers JAR dans le répertoire Web-Inf / Lib de la guerre.

Donc, tout semble bien, mais comment déboguer? Je sais comment (de la ligne de commande) exécuter la guerre à Tomcat sur ma machine. Je pense aussi que je savais comment configurer et exécuter le plugin de jetty Maven de la ligne de commande également. Mais comment mieux déboguer ... avec tous les points de rupture et l'inspection variable que j'aime avec éclipse?

Y a-t-il une sorte de configuration de lancement que je devrais créer ou puis-je attacher le débogueur à distance? Y a-t-il quelque chose dans Eclipse qui peut aider ... comme un plugin?


0 commentaires

4 Réponses :


4
votes

Pour activer le débogage via Eclipse:

Je passe selon Tomcat Démarrage: P>

-Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=9999,suspend=n
  • Menu de débogage Goto> Configuration de débogage P> LI>

  • Faites défiler vers le bas pour sélectionner Java distant Application p> li>

  • RT Cliquez pour créer de nouveaux
    Configuration li>
  • Sélectionnez le type de connexion en standard (Socket Fixation) et ajoutez un nom d'hôte et port. li> ul>

    Pour commencer le débogage simple, ouvrez-le lorsque le serveur est en cours d'exécution .--- p> p>


0 commentaires

3
votes

Y a-t-il une sorte de configuration de lancement que je devrais créer ou puis-je attacher le débogueur à distance? Y a-t-il quelque chose dans Eclipse qui peut aider ... comme un plugin?

avec m2eclipse (et l'intégration maven pour wtp que vous Installez à partir des extras), vous pouvez utiliser le WTP et démarrer votre application en mode de débogage. < / p>

Autre alternative, vous pouvez connecter un débogueur à distance à une jetée. Voir Débogage avec le plugin de jetty Maven dans Eclipse .


1 commentaires

J'ai installé m2eclipse. Comment j'ai utilisé WTP pour démarrer mon application en mode de débogage?



22
votes

Si vous exécutez votre guerre avec Tomcat / Jetty Plugin Pass Options de débogage sur le Maven:

$TOMCAT_HOME/bin/catalina.sh jpda start


0 commentaires

3
votes

Un meilleur moyen d'ajouter les options de débogage à $ MAVEN_OPTS OPTION, et ne les fusionne donc pas avec les autres options existantes (si vous souhaitez démarrer votre application non dans le mode de débogage, vous devez Supprimer ces options à nouveau), est d'utiliser le Maven Out of the Box Débogger MVNDEBUG , situé dans son répertoire BIN, de cette façon MVNDEBUG Jetty: exécuter . Cela exécutera votre application en mode de débogage et ce qui reste attachera votre débogueur.


2 commentaires

Je n'étais pas au courant de mvndebug est un moyen facile de lancer cela de Eclipse dans le cadre d'une configuration de lancement Maven?


Si vous allez utiliser mvndebug, alors il devrait être de la ligne de commande non de Eclipse (bien que le détachement du débogueur puisse provenir d'Eclipse).