140 votes

Comment déboguer un objectif maven avec intellij idea ?

Peut-on déboguer un objectif maven avec Intellij IDEA ? Je sais que je peux faire un clic droit et exécuter Déboguer . Cependant, le plugin maven n'apparaît pas dans ma page d'accueil. Bibliothèques externes Je ne peux donc pas aller dans le code et définir un point d'arrêt. Ainsi, Déboguer parcourt les objectifs sans s'arrêter, comme Exécuter fait.

J'utilise OS X 10.8 et IDEA 12.0.2.

EDIT : But

J'ai écrit un specRunner personnalisé pour https://github.com/searls/jasmine-maven-plugin - Cependant, $specs$ reste vide. J'essaie donc de voir quels fichiers sont effectivement chargés.

244voto

rweng Points 2682

J'ai compris :

  1. à partir de la ligne de commande, exécutez maven goal avec mvnDebug au lieu de mvn . Par exemple mvnDebug clean
  2. Ouvrez la source du plugin maven que vous voulez déboguer dans intelliJ et définissez un point d'arrêt.
  3. Dans IDEA, ajoutez un Remote JVM Debug Configuration.
    1. Sous Paramètres, définissez Transport : Socket, Debugger Mode : Attach, Host : localhost, Port : 8000 (port par défaut de mvnDebug).
  4. Exécutez la configuration en mode débogage. Elle devrait se connecter à la jvm mvnDebug en attente.

57voto

gorums Points 457

Très facile. J'utilise Intellj Idea 15.0.4.

  1. Définir le point d'arrêt dans votre plugin maven
  2. Dans l'onglet "Maven Projects", allez sur le projet qui utilise votre plugin maven.
  3. Dans "Plugins", trouvez votre plugin et sur l'objectif, faites un clic droit et déboguez.

Voici une capture d'écran :

screenshot

29voto

vilkg Points 357

Vieille question, mais j'avais le même besoin et il m'a fallu un certain temps pour le faire fonctionner. J'espère pouvoir aider quelqu'un.

Pour le débogage des tests, utilisez :

mvn <goal> -Dmaven.surefire.debug

ou

mvn <goal> -Dmaven.failsafe.debug

Lorsque l'exécution s'arrête et écoute la socket à l'adresse 5005 (par défaut), vous exécutez votre débogueur distant configuré.

Comment le configurer :

Run -> Edit configurations -> Remote Transport : socket Mode débogueur : Attacher Port : 5005 (par défaut)

-> Sauvegarder.

17voto

Peter Szanto Points 2425

Je pense que la solution la plus simple est d'ajouter temporairement le plugin maven comme une dépendance. Une fois que c'est fait, IntelliJ le traitera comme n'importe quelle autre dépendance et vous pourrez définir des points d'arrêt de la manière habituelle.

15voto

Michał Stochmal Points 1185

Le moyen le plus simple de déboguer un objectif maven UNIQUEMENT dans IntelliJ est de créer un objectif maven ordinaire et de passer ces options VM dans l'onglet runner :

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

Où 8000 est un numéro de port pour le débogage à distance.

Maven goal configuration

Ensuite, créez une nouvelle configuration distante avec le port 8000. Exécutez cette configuration après avoir lancé maven goal.

Remote debugging configuration

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X