Мне тяжело видеть "лес через деревья" на некоторых концепциях Maven. Я понимаю, что Maven предварительно сконфигурирован с множеством так называемых "фаз построения жизненного цикла", которые начинаются с validate
и test
и заканчиваются на deploy
.
Я прихожу к Maven из Ant, где вы организовали основные этапы сборки в целевые объекты (которые могут зависеть от других целей линейным образом), а затем вы разлагаете свои цели на процедурные задачи. Кажется, что Maven поддерживает это, но в виде целей.
Мой вопрос (поскольку я привык думать о построении с точки зрения целей и задач): как эти фазы жизненного цикла (package
, verify
и т.д.) относятся к целям? Нужно ли настраивать, какие цели запускать на каком этапе, или это делается Maven автоматически как-то?
Или, цели бывают предопределены, с какой фазой они принадлежат?
Я просто не вижу, как каждый заказывает цели для создания пользовательской сборки, которая работает для них или их организации.
Спасибо за любую ясность!