web-dev-qa-db-fra.com

Débogage de construction Maven dans Eclipse

Je veux déboguer la construction d'Eclipse avec des tests. J'ai essayé de l'exécuter par Exécuter> Configurations de débogage> Maven Build. Dans le répertoire de base se trouve mon répertoire de référentiel Maven avec le fichier pom.xml, dans les objectifs 'installation propre'. Lorsque je clique sur le débogage, Eclipse démarre la construction, lance des tests mais ne s'arrête pas aux points d'arrêt.

44
Maciej Laskowski

Le moyen le plus simple que je trouve est de:

  1. Projet clic droit

  2. Déboguer en tant que -> Maven build ...

  3. Dans le champ des objectifs, mettez - - test Dmaven.surefire.debug

  4. Dans les paramètres, mettez un nouveau paramètre appelé forkCount avec une valeur de (anciennement forkMode = jamais, mais il est obsolète et ne fonctionne plus)

Définissez vos points d'arrêt et exécutez cette configuration. Elle devrait atteindre le point d'arrêt.

66
alex.p

si vous utilisez Maven 2.0.8+, ce sera très simple, lancez mvndebug à partir de la console et connectez-vous à celui-ci via Remove Debug Java Application avec port 8000.

7
Rajesh

La configuration Run/Debug que vous utilisez est conçue pour vous permettre d’exécuter Maven sur votre espace de travail comme si vous utilisiez la ligne de commande sans quitter Eclipse.

En supposant que vos tests soient basés sur JUnit, vous devriez pouvoir les déboguer en choisissant un dossier source contenant les tests avec le bouton droit, puis en choisissant Debug as... -> JUnit tests.

6
Nicola Musatti

probleme: les résultats des tests unitaires ne sont pas identiques à ceux exécutés avec Eclipse et maven en raison de l'ordre de la bibliothèque utilisée par Eclipse et maven. Dans mon cas, le test a été un succès avec maven, mais je souhaite déboguer mon test unitaire à l'aide d'Eclipse. Le moyen le plus simple de déboguer une classe de tests unitaires avec Eclipse et runing maven est le suivant:

1) mvn -Dtest = MySuperClassTest -Dmaven.surefire.debug test ==> il écoutera le port 5005 (port par défaut).

2) Allez sur Eclipse, ouvrez une configuration de débogage, ajoutez une nouvelle application distante Java) et modifiez le port en 5005, puis mettez au point

3) bien sûr, vous devez ajouter un point d'arrêt quelque part dans la classe que vous souhaitez déboguer

4
Mohamed Chaabani