Есть ли способ для проекта Maven наследовать конфигурации отчетов от зависимости pom?

Я знаю, что можно настроить раздел в родительском POM и применить его к подмодулям в многомодульном проекте. Тем не менее, я хотел бы иметь отдельный POM для ссылки в качестве зависимости, чтобы у меня была конфигурация отчетов, которую я мог бы «смешивать» с различными проектами без необходимости реплицировать мою конфигурацию отчетов в нескольких проектах. (См. «POM зависимостей» здесь: http://sonatype.com/books/maven-book/reference/pom-relationships-sect-pom-best-practice.html)

Например, для моего проекта Widget у меня есть родительский POM (widget-parent) с двумя подмодулями, widget-core и widget-web. Я хотел бы иметь отдельный POM, статический анализ, от которого зависит виджет-родитель. static-analysis будет иметь блок, определяющий отчетность Checkstyle и FindBugs. Когда я создаю Widget, я ожидаю, что Checkstyle и FindBugs будут работать на widget-core и widget-web.

Если ваше решение работает только в определенной версии Maven, сообщите мне об этом. Мы еще не обновились до 3.x.


person KC Baltz    schedule 17.12.2010    source источник


Ответы (2)


В Maven 3 элемент отчетности в pom исчез и заменен элементом конфигурации для плагина сайта. Затем вы можете использовать обычный pluginManagement для определения конфигурации, которая будет использоваться везде. В любом случае я бы предложил перейти на Maven 3 в целом, и это дает вам еще одну вескую причину.

Обновление: элемент отчетности был возвращен и снова работает с последними версиями плагина сайта.

person Manfred Moser    schedule 17.12.2010
comment
Таким образом, я мог бы добавить раздел pluginManagement в свою POM зависимостей и заставить его работать так же, как в родительском POM? - person KC Baltz; 18.12.2010
comment
вы можете добавить его в родительский pom. Добавление помпонов типа Mixin появится только в Maven 3.1.. - person Manfred Moser; 18.12.2010
comment
Звучит неплохо. Я собираюсь попробовать что-то еще, а также. Я вижу, что вы можете настраивать плагины на основе профиля, поэтому я надеюсь, что смогу поместить конфигурацию в родительский pom, который является частью профиля. Таким образом, проекты, которым нужны отчеты, могут включить их с профилем во время сборки. - person KC Baltz; 21.12.2010
comment
для этого вы добавляете конфигурацию в pluginMgt в родительском элементе, а затем ссылаетесь на плагин в профиле в дочерних элементах. - person Manfred Moser; 21.12.2010

Предположительно, это работает с Maven 3.5, выпущенного весной 2017 года; см. связанную проблему.

Конфигурация, определенная в плагинах под <build><pluginManagement>, теперь будет использоваться и под <reporting>.

Обратитесь к документации для получения дополнительной информации, если вы не знаете, как работает в Мавене.

person hoijui    schedule 20.01.2019