Как игнорировать модули в моем агрегаторе POM при выполнении плагина - PullRequest
0 голосов
/ 13 февраля 2020

Мне нужно выполнить пользовательский плагин на POM моего агрегатора, который должен проверять субмодули. Поскольку папка (и) подмодулей и, следовательно, POM еще не существует, я всегда получаю сообщение об ошибке:

The project ... has 1 error
[ERROR]     Child module ... of parentproject\pom.xml does not exist

Можно ли игнорировать модули при выполнении плагина?

Моя декларация Моджо

@Mojo(name = "checkout", aggregator = true)
public class CheckoutMojo extends AbstractMojo {

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

В вашем @Mojo вы можете добавить запись aggregator = true, чтобы плагин запускался только на родительском POM, а не на модулях.

0 голосов
/ 15 апреля 2020

Я смог решить эту проблему, введя профиль в POM и переместив все имена модулей в профиле. Поскольку maven не находит ни одного модуля (модулей), когда он набирает скорость, он наращивается, как и ожидалось, и тогда мой mojo исполняется. Теперь mojo, который должен работать без наличия модулей, называется следующим образом:

mvn groupId:artifactId:version:goalname

А mojo, который должен работать с модулями, называется следующим образом:

mvn groupId:artifactId:version:goalname -Pprofile_having_modules
...