Очевидно, если вы не укажете версию плагина Maven для компилятора, Maven 2.2.1 просто даст вам v2.0.2.
Да, из Maven 2.0.9 (см MNG-3395) в версии ядра и общих плагинов фиксированы в Maven отключен плагин версии открытия ради сборки воспроизводимости в super POM и.
В нашем проекте используются 15+ плагинов Maven. Некоторые из них мы хотим скопировать определенную версию, но большинство из них (например, плагин компилятора), которые мы хотели бы обновить, не задумываясь об этом.
Как было намечено выше, это плохая идея. Вы просто не хотите, чтобы сборка maven внезапно начала сбой из-за некоторого обновления плагина. Другими словами, вы должны использовать фиксированные версии, а не делать это плохая практика. Фактически, Maven 3.0 продвигает эту практику и предупреждает вас, если вы этого не сделаете. И в 3.1, вам нужно будет указать версию (см. MNG-1968).
Лично я использую Maven Enforcer Plugin и его правило Require Plugin Versions для обеспечения соблюдения этой практики (что означает, что сборка завершится неудачно, если вы не заблокируете версии плагинов).
Есть ли способ сделать это автоматически с помощью Maven, или же мы должны назначить кому-то неблагодарную задачу исследовать возможный Maven плагина в обновление каждый месяц, а затем изменить номера версии PluginManagement в нашем родителю POM?
Как было предложено, то Versions Maven Plugin есть цели, позволяющих проверить, есть ли более поздние версии плагин, зависимости и т.д. (и обратите внимание, что -cpu
осуждается в Maven 3.0 и будет удален из будущих версий).
Но настоящий вопрос: почему вы хотите всегда использовать конечные версии? IMO, нет оснований для этого, вы должны обновиться, только если есть что исправить («если он не сломался, не исправляйте его»).
Итог: использовать фиксированные версии плагинов и забыть автоматические обновления, диапазоны версий и т.д.
Это непосредственно не применимы, но maven3 выдает предупреждение, когда вы не предоставите номер версии плагинов, размещения на что предупреждение для обратной совместимости. – Jeremy
@Jeremy Не отстающие совместимые изменения будут в Maven 3.1. Между тем, Maven 3.0 помогает вам исправить своих попов. –