Подтвердить что ты не робот

Когда использовать 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] ------------------------------------------------------------------------

Когда вы должны указать, какое исключение и почему?

4b9b3361

Ответ 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