何时在Maven中使用MojoExecutionException vs MojoFailureException
AbstractMavenMojo的execute方法声明它抛出了两个exception,MojoExecutionException和MojoFailureException。 投掷或者导致构build停止,并且日志在每种情况下显示几乎相同的消息。
MojoExecutionException的消息是:
[INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] [exception text] [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------
并且MojoFailureException的消息是:
[INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] [exception text] [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------
什么时候应该抛出哪个exception,为什么?
看起来你应该抛出一个MojoExecutionException
如果这个问题使得不可能继续构build,否则使用MojoFailureException
。
当maven运行时,你可以控制处理MojoFailureExpections
的行为。
以下链接详细区别: https : //books.sonatype.com/mvnref-book/reference/writing-plugins-sect-custom-plugin.html#writing-plugins-sect-failure
断开的链接? 谷歌searchsonatype写插件,部分定制插件写插件部分失败