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.
7 réponses
Compris:
- à partir de la ligne de commande, exécutez Maven goal avec
mvnDebug
au lieu demvn
. Par exemplemvnDebug clean
- ouvrez la source du plugin maven que vous souhaitez déboguer dans intelliJ et définissez un point d'arrêt
- dans IDEA, ajoutez une Configuration
Remote
.- sous Paramètres, définissez Transport: Socket, mode débogueur: Attach, Host: localhost, Port: 8000 (port par défaut de mvnDebug).
- exécutez la Configuration en mode débogage. Il devrait se connecter au mvndebug en attente jvm.
Très facile. J'utilise Intellj Idea 15.0.4
- Définissez le point d'arrêt dans votre plugin maven
- dans la balise "projets Maven", allez dans le projet que la sorcière utilise votre plugin maven.
- dans" Plugins " Trouvez votre plugin et sur l'objectif faites un clic droit et déboguez
Voici une capture d'écran:
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.
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.
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.
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.
Créez ensuite une nouvelle configuration distante avec le port 8000. Exécutez cette configuration après avoir exécuté Maven goal.
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.