with ver oxygen online how debugger debug como java eclipse debugging maven

java - ver - Maven build debug en Eclipse



how to debug in eclipse oxygen (4)

La configuración de Ejecutar / Depurar que está utilizando tiene la intención de permitirle ejecutar Maven en su área de trabajo como si fuera desde la línea de comando sin salir de Eclipse.

Suponiendo que sus pruebas están basadas en JUnit, debería poder depurarlas eligiendo una carpeta fuente que contenga pruebas con el botón derecho y elija Debug as... -> JUnit tests .

Quiero depurar la construcción de Eclipse con pruebas. Intenté ejecutarlo en Ejecutar> Configuraciones de depuración> Creación de Maven. En el directorio base está mi directorio de repositorio de Maven con el archivo pom.xml, en "instalación limpia" de objetivos. Cuando hago clic en depurar, Eclipse inicia la compilación, ejecuta las pruebas pero no se detiene en los puntos de interrupción.


La forma más fácil que encuentro es:

  1. Haga clic derecho en el proyecto

  2. Depurar como -> Maven build ...

  3. En el campo de objetivos pon la prueba -Dmaven.surefire.debug

  4. En los parámetros, coloque un nuevo parámetro llamado forkCount con un valor de 0 (anteriormente era forkMode = never pero está en desuso y ya no funciona)

Establezca sus puntos de interrupción y ejecute esta configuración y debería llegar al punto de interrupción.


problema: el resultado de la prueba unitaria no es el mismo runing con eclipse y maven debido al orden de biblioteca utilizado por eclipse y maven. En mi caso, la prueba fue exitosa con maven, pero quiero depurar mi prueba de unidad usando eclipse, por lo que la manera más fácil de depurar la clase de prueba de unidad con eclipse y maven runing es:

1) mvn -Dtest = MySuperClassTest -Dmaven.surefire.debug test ==> escuchará el puerto 5005 (puerto predeterminado)

2) Ir a Eclipse, abrir una configuración de depuración, agregar una nueva aplicación remota de Java y cambiar el puerto a 5005 y depurar

3) por supuesto, debe agregar un punto de interrupción en algún lugar de la clase que desea depurar