Когда использовать MojoExecutionException vs MojoFailureException в Maven
Метод executeMavenMojo объявляет, что он генерирует два исключения: MojoExecutionException и MojoFailureException. Бросок либо приводит к остановке сборки, и журнал отображает почти идентичное сообщение в каждом случае.
Сообщение об ошибке 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] ------------------------------------------------------------------------
Когда вы должны указать, какое исключение и почему?
Ответы
Ответ 1
Кажется, вы должны выбросить MojoExecutionException
, если проблема не позволяет продолжить сборку и использовать MojoFailureException
в противном случае.
Вы можете управлять поведением для передачи MojoFailureExpections
при запуске maven.
Следующая ссылка описывает разницу: https://books.sonatype.com/mvnref-book/reference/writing-plugins-sect-custom-plugin.html#writing-plugins-sect-failure
Неработающей ссылке? поиск Гугл
сонаты для написания плагинов-sect-custom-plugin writing-plugins-sect-failure