Pouvez-vous déboguer un objectif maven avec Intellij IDEA? Je sais que je peux cliquer avec le bouton droit et exécuter Debug . Cependant, le plugin maven n'apparaît pas dans ma liste de bibliothèques externes , je ne peux donc pas entrer dans le code et définir un point d'arrêt. Ainsi, Debug parcourt les objectifs sans s'arrêter, comme le fait Run .
J'utilise OS X 10.8 et IDEA 12.0.2.
EDIT: Objectif
J'ai écrit specRunner personnalisé pour https://github.com/searls/jasmine-maven-plugin - Cependant, $ specs $ reste vide. J'essaye donc de voir quels fichiers sont réellement chargés.
intellij-idea
rweng
la source
la source
Réponses:
Deviner:
mvnDebug
au lieu demvn
. Par exemplemvnDebug clean
Remote
configuration.la source
mvn test -Dtest=com.example.MyTest
(mon cas de test échoue uniquement lorsqu'il est exécuté avec maven) - Les points d'arrêt IDEA sont ignorés dans ce cas, il semble ... :(Très facile. J'utilise Intellj Idea 15.0.4
Voici une capture d'écran:
la source
Ancienne question, mais j'avais le même besoin et il m'a fallu du temps pour que ça marche. J'espère pouvoir aider quelqu'un.
Pour le débogage de test, utilisez:
ou
Lorsque l'exécution s'arrête et écoute le socket à l'adresse 5005 (par défaut), vous exécutez votre débogueur distant configuré.
Comment le configurer:
Exécuter -> Modifier les configurations -> Transport à distance: mode débogueur de socket: Attacher le port: 5005 (par défaut)
-> Enregistrer.
la source
Le moyen le plus simple de déboguer un objectif maven UNIQUEMENT dans IntelliJ est de créer un objectif maven régulier et dans l'onglet Runner, passez ces options de VM:
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.
la source
Je pense que la solution la plus simple est d'ajouter temporairement le plugin maven en tant que dépendance. Une fois que cela est fait, IntelliJ traitera cela comme n'importe quelle autre dépendance et vous pouvez définir des points d'arrêt de la manière habituelle.
la source
Soit vous pouvez vous référer à la réponse ci-dessus, soit simplement ajouter ce plugin à pom.xml
Et exécutez le but maven avec
mvn
au lieu demvnDebug
. Par exemplemvn spring-boot:run
Dans IDEA, ajoutez une configuration à distance. Sous Paramètres, définissez Transport: Socket, Mode débogueur: Attacher, Hôte: localhost, Port: 8000 (port par défaut de mvnDebug).
Exécutez en tant que débogage dans IDEA, chaque fois que vous souhaitez déboguer le code.
la source
Puisque vous travaillez avec Intellij, il existe déjà un débogueur intégré et vous n'avez pas nécessairement besoin d'utiliser mvnDebug qui est un outil de ligne de commande. Consultez ce tutoriel: Comment déboguer des applications Maven dans Intellij IDEA .
Le tutoriel utilise le plugin Maven Exec et vous permet de déboguer l'application sans avoir besoin d'utiliser la ligne de commande ou
MvnDebug
. La pensée de partager cela pourrait être utile ici.la source
exec:java
. Cependant, si vous devez fournir des arguments supplémentaires pour JVM, vous devez utiliserexec:exec
(voir stackoverflow.com/questions/7305090/… ), qui ne peut pas être débogué de cette façon.La réponse de @Peter Szanto fonctionne pour moi, mais je n'aime pas gâcher mon code source.
Et je ne peux pas faire fonctionner ces
MvnDebug
méthodes.J'essaye donc d'une autre manière, d' ajouter la source du plugin en tant que module IDEA .
Voici l'étape de détail:
Clonez la source du plugin en tant que projet indépendant.
Dans votre projet, accédez à
File -> New -> Module from Exist Sources
et ajoutez le projet de plugin que vous clonez à l'étape 1.Vous pouvez maintenant ouvrir le code source du plugin et définir un point d'arrêt.
Exécutez votre objectif maven en mode débogage, il devrait s'arrêter au point d'arrêt.
la source