Конфигурация плагина Maven в многомодульном проекте - PullRequest
1 голос
/ 27 мая 2011

Я работаю над многомодульным проектом. Я хочу запустить свой плагин после сборки для одного из модулей. Этот mojo должен запускаться только непосредственно из CLI и не может быть присоединен к фазе, поскольку в некоторых средах мы не хотим выполнять эту цель.

Как лучше всего настроить мой плагин? Должен ли он быть настроен в родительском или я должен настроить его в модуле?

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

Если я настрою его только в пределах родительского элемента, смогу ли я запустить его из папки модуля?

На данный момент он настроен только в моем модуле, и я запускаю его так из родительской папки

mvn -pl my-module groupId: artifactId: myGoal

Похоже, я должен использовать полное имя. Я думаю, это потому, что родитель ничего не знает об этом плагине.

1 Ответ

1 голос
/ 27 мая 2011

Если вы хотите, чтобы плагин запускался один раз за сборку, тогда используйте аннотацию @aggregator на вашем Mojo.Это сигнализирует Maven о запуске mojo только один раз в сборке Maven, если он явно не связан с фазой жизненного цикла.Вы можете узнать больше на странице спецификации Mojo API.

Если вы не хотите объявлять полное имя mojo, вы можете настроить groupId в pluginGroups раздел settings.xml .Вы также можете указать его в pluginManagement разделе pom.xml , хотя я не уверен, что это подходит для вашего варианта использования.

...