debugging - pom - maven-compiler-plugin
Depurar la ejecuciĆ³n de un plugin de maven en un proyecto web de maven (5)
¿Hay alguna manera de realmente depurar un plugin de Maven mientras está en acción? Lo que quiero decir es que, por ejemplo, tenemos el plug-in de maven-clean. Entonces, cuando este complemento se ejecute, ¿podemos de alguna manera depurar y verificar dentro del código fuente de maven-clean-plugin?
Obviamente, tendríamos que asociar la fuente Java para el complemento en eclipse, pero ¿cómo podemos configurarlo para la depuración?
Gracias.
EDITAR : cambiando el tema, lo siento chicos, tal vez debería haber sido más preciso. En realidad, tengo mi aplicación web, que es un proyecto de maven, que hace uso de complementos de terceros. Ahora, cuando hago una instalación de mvn clean , necesito depurar mi complemento de terceros. Ahora, en mi dependencia de Maven, no obtengo una dependencia de ese plugin jar, lo cual es bastante normal. ¿Algunas ideas?
En NetBeans 7.4, haga clic derecho en el proyecto> Propiedades> Acciones. Elija la acción del Build project
(o cualquier otra), luego, junto a "Establecer propiedades", haga clic en Add
y Debug Maven Build
.
Esto podría estar un poco apagado, ya que voy a hablar sobre IntelliJ IDEA. Con IDEA, puede cargar un proyecto de Maven directamente, y luego simplemente hacer clic derecho en una de las fases del ciclo de vida de la compilación (limpiar, empaquetar, instalar, etc.) y elegir depurar. El IDE ejecuta esa fase con la ruta de clase correcta y lo deja en un depurador.
He usado el depurador para depurar varios de mis propios complementos. Nunca he intentado depurar un complemento de terceros, aunque imagino que esto será relativamente sencillo si el archivo aún tiene símbolos de depuración y usted tiene el código fuente correspondiente.
La edición comunitaria de IDEA está disponible sin costo alguno.
Si desea depurar la ejecución de Maven en eclipse, así es como lo hice, con herramientas en su mayoría de línea de comandos (no se usa el complemento Eclipse) (puede que esté desactivado en algunos puntos, no lo he hecho durante 6 meses):
- Ejecute, desde la línea de comandos,
mvndebug
en lugar del comandomvn
. Maven comenzará a iniciarse y esperará a que aparezca un depurador externo en un puerto TCP antes de reanudar. Anote el número de puerto. - Configure en Eclipse una configuración de depuración remota y personalizada. (Consulte http://www.ibm.com/developerworks/library/os-ecbug/ , Depuración remota): establezca el número de puerto como el que usa mvndebug. También ponga los archivos de origen que utilizará para la depuración en la configuración de depuración.
- Inicie la configuración de depuración remota. Maven debería reanudar y podrás detectar errores en Eclipse.
Si está utilizando Eclipse con el complemento m2eclipse, simplemente inicie su compilación con Depurar como ... en lugar de Ejecutar como ....
Si no está utilizando m2eclipse, ejecute mvnDebug
lugar de mvn
(para Maven 2.0.8+) y adjunte un depurador remoto en el puerto 8000. Para Maven 2.0.8 <, agregue las opciones de depuración remota al script de inicio.
Por supuesto, debe importar las fuentes del complemento en su área de trabajo.
Ver también
Simplemente reemplaza mvn
con mvnDebug
en tu comando:
mvnDebug clean install
Como resultado, la JVM escucha al depurador en el puerto 8000. Para un control más MAVEN_OPTS
puede establecer la variable de entorno MAVEN_OPTS
con los parámetros de depuración de JVM estándar:
export MAVEN_OPTS="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"
mvn clean install