2009-06-23 21 views
35

El método de ejecución de AbstractMavenMojo declara que arroja dos excepciones, MojoExecutionException y MojoFailureException. Lanzar cualquiera de los resultados en la detención de compilación y el registro muestra un mensaje idéntico casi en cada caso.Cuándo usar MojoExecutionException vs MojoFailureException en Maven

El mensaje para MojoExecutionException es:

[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] [exception text] 
[INFO] ------------------------------------------------------------------------ 
[INFO] For more information, run Maven with the -e switch 
[INFO] ------------------------------------------------------------------------ 

y el mensaje de MojoFailureException es:

[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] [exception text] 
[INFO] ------------------------------------------------------------------------ 
[INFO] For more information, run Maven with the -e switch 
[INFO] ------------------------------------------------------------------------ 

¿Cuándo se debe tirar la cual excepción y por qué?

Respuesta

29

Parece que debe arrojar un MojoExecutionException si el problema hace que sea imposible continuar con la compilación, y use el MojoFailureException de lo contrario.

Puede controlar el comportamiento para MojoFailureExpections cuando se ejecuta maven.

El siguiente enlace detalla la diferencia: https://books.sonatype.com/mvnref-book/reference/writing-plugins-sect-custom-plugin.html#writing-plugins-sect-failure
¿Enlace roto? Búsqueda de Google sonatype writing-plugins-sect-custom-plugin writing-plugins-sect-failure

+0

gracias eso es exactamente lo que buscaba –

+1

El enlace está roto. Pruebe http://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-custom-plugin.html#writing-plugins-sect-failure en su lugar. – matsev

+0

@matsev, arreglé el enlace. – Gili

Cuestiones relacionadas