Comment déboguer un objectif maven avec intellij idea?

Pouvez-vous déboguer un but maven avec Intellij IDEA? Je sais que je peux faire un clic droit et exécuter Debug . Cependant, le plugin maven n'apparaît pas dans ma liste external Libraries, donc je ne peux pas entrer dans le code et définir un point d'arrêt. Ainsi, Debug exécute à travers les objectifs sans s'arrêter, comme Exécuter ne.

J'utilise OS X 10.8 et IDEA 12.0.2.

Modifier: Objectif

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

72
demandé sur kc2001 2013-01-30 15:08:23

7 réponses

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 souhaitez déboguer dans intelliJ et définissez un point d'arrêt
  3. dans IDEA, ajoutez une Configuration Remote.
    1. sous Paramètres, définissez Transport: Socket, mode débogueur: Attach, Host: localhost, Port: 8000 (port par défaut de mvnDebug).
  4. exécutez la Configuration en mode débogage. Il devrait se connecter au mvndebug en attente jvm.
141
répondu rweng 2013-02-13 12:33:22

Très facile. J'utilise Intellj Idea 15.0.4

  1. Définissez le point d'arrêt dans votre plugin maven
  2. dans la balise "projets Maven", allez dans le projet que la sorcière 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:

capture

22
répondu gorums 2016-03-03 18:23:36

Je pense que la solution la plus simple est d'ajouter temporairement le plugin maven en tant que dépendance. Une fois cela fait, IntelliJ traitera cela comme toute autre dépendance et vous pouvez définir des points d'arrêt de la manière habituelle.

6
répondu Peter Szanto 2017-01-23 08:18:05

Vieille question, mais j'avais le même besoin et il m'a fallu un certain temps pour que cela fonctionne. Espérons-le, peut aider quelqu'un.

Pour l'utilisation de débogage de test:

mvn <goal> -Dmaven.surefire.debug 

Ou

mvn <goal> -Dmaven.failsafe.debug

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

Comment le configurer:

Exécuter - > Modifier les configurations - > à distance Transport: socket Mode débogueur: joindre Port: 5005 (par défaut)

- > Enregistrer.

4
répondu vilkg 2017-06-14 14:07:12

Puisque vous travaillez avec Intellij, il y a déjà un débogueur intégré et vous n'avez pas besoin d'utiliser nécessairement mvnDebug qui est un outil de ligne de commande. Consultez ce tutoriel: comment déboguer les Applications Maven dans Intellij IDEA .

Le tutoriel utilise le Maven Plugin Exec et vous permet de déboguer l'application sans avoir besoin d'utiliser la ligne de commande ou MvnDebug. Le partage de la pensée pourrait être utile ici.

2
répondu ambodi 2014-02-08 11:37:57

Le moyen le plus simple de déboguer l'objectif maven uniquement dans IntelliJ est de créer un objectif Maven régulier et de passer ces options de 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.

Configuration des objectifs Maven

Créez ensuite une nouvelle configuration distante avec le port 8000. Exécutez cette configuration après avoir exécuté Maven goal.

Configuration de débogage à distance

2
répondu Michał Stochmal 2018-05-14 12:59:29

Soit vous pouvez vous référer à Réponse ci-dessus ou simplement ajouter ce plugin à pom.xml

           <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
            <jvmArguments>
            -Xdebug - 
            Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
            </jvmArguments>
            </configuration>
        </plugin>

Et exécutez Maven goal avec mvn au lieu de mvnDebug. Par exemple mvn spring-boot:run

Dans IDEA, ajoutez une Configuration distante. Sous Paramètres, définissez Transport: Socket, mode débogueur: Attach, Host: localhost, Port: 8000 (port par défaut de mvnDebug).

Exécuter en tant que Debug dans IDEA, chaque fois que vous voulez déboguer le code.

1
répondu abhishek ringsia 2018-04-06 09:13:51