Централизация версии плагина в (что-то похожее) спецификации?

Я начинаю использовать спецификации для централизации версий общих зависимостей в моем проекте. Тем не менее, он не работает для версий плагинов: если я добавлю раздел pluginManagement в спецификацию, версии объявленных там плагинов не влияют на версии плагинов проектов, импортирующих спецификацию (Maven жалуется, что версия не указано).

Почему? Что же тогда "Maven" способ централизовать версии общих плагинов? Должен ли я просто использовать родительский POM для этого?

1 ответ

Если вы используете спецификацию, которая используется с помощью области import, что означает только учитывать часть dependencyManagement. Выдержка из документов:

Эта область используется только для зависимости типа pom в  раздел. Он указывает, что указанный POM должны быть заменены зависимостями в том, что POM  раздел. Поскольку они заменяются, зависимости с объемом импорта фактически не участвуют в ограничении транзитивность зависимости.

Чтобы определить плагины, вы должны использовать родителя, где вы определяете версии плагина с помощью pluginManagement.

licensed under cc by-sa 3.0 with attribution.