Переопределить конфигурацию плагина Maven, определенную в pom pluginManagement из командной строки - PullRequest
16 голосов
/ 11 января 2011

POM, который наследует мой проект, содержит некоторые <pluginManagement> для плагина release, который указывает некоторые дополнительные arguments.

Мой вопрос: Есть ли способ переопределитьпараметр arguments из командной строки в этом случае?

Родительский POM имеет следующее:

<pluginManagement>
    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
            <arguments>-Prelease</arguments>
        </configuration>
    </plugin>
</pluginManagement>

Из-за того, что аргумент командной строки не работает:

mvn release:prepare -Darguments="-Pmock -Prelease"

Партия -Darguments="-Pmock -Prelease" не действует.Когда arguments еще не указан, он работает.

Я не могу изменить родительский POM или не использовать его.

Ответы [ 2 ]

11 голосов
/ 14 января 2011

Нашел решение.В my POM я добавляю это, что переопределяет настройки в parent POM и позволяет указывать дополнительные аргументы в командной строке, например, -Darguments=-Pmock

<pluginManagement>
    <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <configuration>
            <arguments>${arguments} -Prelease</arguments>
        </configuration>
    </plugin>
</pluginManagement>
7 голосов
/ 19 января 2011

Нельзя переопределить конфигурацию, которая уже установлена ​​в POM (см. Maven Bug MNG-4979 ). Вы можете использовать переменные, чтобы избежать такого поведения. Фрагмент вашего ответа использует его.

...