Supongamos que estoy haciendo una compilación completa en mi proyecto grande que tiene 7 módulos y en el sexto módulo, la compilación falló porque falló una prueba. ¿Hay alguna forma de iniciar la compilación desde el punto en que falló?
Respuestas:
Puede reanudar la compilación desde el sexto módulo usando -rf
o --resume-from
:
-rf, --resume-from
Reanudar el reactor del proyecto especificado
Consulte las Opciones avanzadas del reactor para obtener más detalles.
subproject/subsubproject
como parámetro
maven -rf <module name> clean install
mvn -rf :moduleName install
. (No estoy seguro exactamente de por qué se necesitan los dos puntos, pero parece serlo, al menos para mi configuración)
install
objetivo, porque la compilación reanudada puede obtener los artefactos que ya se compilaron desde su repositorio local de Maven para resolver las dependencias de ellos. Me parece una mala práctica ejecutar install
compilaciones, ya que termina abarrotando su repositorio local con instantáneas y puede terminar dependiendo de una instantánea más antigua de lo que esperaba. Parece que para las compilaciones en las que solo usted package
y no lo hace install
, usar -rf
no es una opción: tendrá que hacer toda la compilación.
puede reanudar la compilación desde cualquier módulo que desee utilizando el -rf
comando. Por ejemplo, si su compilación falló en myproject-proxy, puede usar el siguiente comando:
mvn -rf myproject-proxy clean install
mire el resumen de maven y verá los módulos ejecutados y dónde se detiene maven. entonces intente esto:
mvn clean install-Dmaven.test.skip=true -rf :yourModule
Sintaxis: mvn -rf modulename mavengoal o mvn --resume-from modulename mavengoal
Ejemplo: mvn -rf admin-module clean install o mvn --resume-from admin-module clean install
-rf
no es la abreviatura de --remove-from
. Es la abreviatura de--resume-from
Puede ejecutar la compilación del módulo 6 por separado para ver si aún falla, pero me temo que necesita compilar todos los módulos desde el principio cuando desee ejecutar la compilación "grande".
Editar: Por supuesto, las compilaciones posteriores serán más rápidas porque el código de los módulos 1-5 ya está compilado, a menos que lo ejecutes limpio como parte de tu compilación.