run intellij idea debug intellij-idea

intellij-idea - idea - run java intellij



Cómo depurar un objetivo maven con intellij idea? (7)

Como está trabajando con Intellij, ya hay un depurador incorporado y no necesita usar necesariamente mvnDebug, que es una herramienta de línea de comandos. Consulte este tutorial: Cómo depurar aplicaciones Maven en Intellij IDEA .

El tutorial utiliza el complemento Maven Exec y le permite depurar la aplicación sin necesidad de utilizar la línea de comandos o MvnDebug . Pensar que compartirlo podría ser de valor aquí.

¿Puedes depurar una meta maven con Intellij IDEA? Sé que puedo hacer clic derecho y ejecutar Debug . Sin embargo, el complemento maven no aparece en mi lista Bibliotecas externas , por lo que no puedo entrar en el código y establecer un punto de interrupción. Por lo tanto, Debug ejecuta los objetivos sin detenerse, como lo hace Run .

Estoy usando OS X 10.8 e IDEA 12.0.2.

EDITAR: objetivo

He escrito specRunner personalizado para https://github.com/searls/jasmine-maven-plugin . Sin embargo, $ specs $ permanece vacío. Así que trato de ver qué archivos están realmente cargados.


Creo que la solución más fácil es agregar temporalmente el complemento maven como una dependencia. Una vez hecho esto, IntelliJ tratará esto como cualquier otra dependencia y podrá establecer puntos de interrupción de la manera habitual.


La forma más fácil de depurar objetivos maven SÓLO dentro de IntelliJ es crear un objetivo maven normal y en la pestaña runner pasar esas opciones de VM:

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

Donde 8000 es un número de puerto para la depuración remota.

A continuación, cree una nueva configuración remota con el puerto 8000. Ejecute esta configuración después de ejecutar el objetivo principal.


Lo averigué:

  1. desde la línea de comando, ejecute el objetivo maven con mvnDebug lugar de mvn . Por ejemplo, mvnDebug clean
  2. Abra el origen del plugin maven que desea depurar en intelliJ y configure un breakPoint
  3. En IDEA, agregue una configuración Remote .
    1. En Configuración, establezca Transport: Socket, Debugger Mode: Attach, Host: localhost, Port: 8000 (puerto predeterminado de mvnDebug).
  4. Ejecute la configuración en modo de depuración. Se debe conectar a la espera mvnDebug jvm.

Muy fácil. Estoy usando Intellj Idea 15.0.4

  1. Establezca el punto de interrupción en su plugin maven
  2. En la etiqueta "Proyectos Maven" dirígete al proyecto que está usando tu plugin maven.
  3. En "Complementos", busque su complemento y sobre el objetivo, haga clic derecho y Depurar

Aquí hay una captura de pantalla:


O bien, puede consultar la respuesta anterior O simplemente agregar este complemento a 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>

Y ejecuta mvn con mvn lugar de mvnDebug . Por ejemplo mvn spring-boot:run

En IDEA, agregue una configuración remota. En Configuración, establezca Transport: Socket, Debugger Mode: Attach, Host: localhost, Port: 8000 (puerto predeterminado de mvnDebug).

Ejecutar como Debug en IDEA, siempre que desee depurar el código.


Una vieja pregunta, pero estaba teniendo la misma necesidad y me tomó un tiempo hacerlo funcionar. Con suerte puede ayudar a alguien.

Para el uso de depuración de prueba:

mvn <goal> -Dmaven.surefire.debug

o

mvn <goal> -Dmaven.failsafe.debug

Cuando la ejecución se detiene y escucha el socket en la dirección 5005 (valor predeterminado), ejecuta el depurador remoto configurado.

Cómo configurarlo:

Ejecutar -> Editar configuraciones -> Transporte remoto: modo de depurador de socket: Puerto de conexión: 5005 (predeterminado)

-> Guardar.