Here говорится:Заказ Maven плагина в исполнении
так Maven 3.0.3, для двух модулей, связанных с одной и той же фазе, порядок исполнения такой же, как и порядок, в котором вы определить их
Я использую Maven 3.3.9 и я могу видеть, что порядок выполнения не всегда определяется порядок плагинов в POM.
Я следующие плагины связаны с жизненным циклом фаз Maven:
pre-integration-test: maven-resources-plugin, 3.0.1 - prepares certain files
integration-test: maven-failsafe-plugin, 2.19.1 - runs Cucumber-jvm tests
post-integration-test: exec-maven-plugin (id: cleaner), 1.5.0 - stops certain processes
maven-cucumber-reporting, 2.4.0 - generates rich HTML report
exec-maven-plugin (id: converter), 1.5.0 - converts rich HTML report to a light version
Трех плагин, присоединенных к фазе «пост-интегрально-тест» перечислены здесь в порядке их определены в POM , Если все тесты проходят без ошибок (на этапе «интеграция-тест») - эти плагины выполняются так, как ожидалось: в том порядке, в котором они определены в POM. Но если из тестов - тогда я получаю следующую ситуацию:
- третий плагин запускается первый - «EXEC-Maven-плагин (ID: конвертер)». Он не находит «богатый HTML-отчет» для преобразования и сбоя.
- После этого запускается второй плагин - «maven-oucumber-reporting». Он успешно создает «богатый HTML-отчет».
- И первый плагин - «exec-maven-plugin (id: cleaner)» - никогда не запускается.
Одна странная вещь больше: хотя «Maven-огурец-отчетов» плагин генерирует богатый отчет HTML успешно, я вижу следующее в файле журнала: «Не удалось выполнить голевые Maven-огуречный-отчетность: 2.4.0 : сгенерировать (выполнение) по проекту ...: обнаружена ошибка: СТРОГО НЕИСПРАВНО ".
Если я комментирую 2-й и 3-й плагины в POM, то оставшийся плагин («exec-maven-plugin (id: cleaner)») успешно выполняет . В этом случае я вижу следующее в файле журнала: «Не удалось выполнить команду maven-failafe-plugin: 2.19.1: проверить (по умолчанию) в проекте ...: имеются ошибки тестирования«. Ну, это сообщение вполне ожидаемо.
ВОПРОС: Почему плагины, связанные с одной и той же фазе, не выполняются в порядке, они определены в POM (но только тогда, когда предыдущая фаза не удалось)?
Вы можете поделиться разделом 'pom.xml'? –
Это потенциально связано с [этим SO q/a] (http://stackoverflow.com/questions/37434109/maven-run-plugin-twice-during-a-phase-interleaved-with-another-plugin). О «эти плагины выполнены как ожидалось», вы уверены в этом? –
Эта часть около 6000 символов - слишком длинная для этого комментария. И приложения здесь не допускаются. Да, когда все тесты проходят без ошибок - эти плагины выполняются так, как ожидалось: в том порядке, в котором они определены в POM. –