Где мне нужно настроить этот плагин.maven-enforcer-plugin - где настроить в Maven
Нужно ли идти в settings.xml уровне или на каждом уровне файла проекта или подпроекта pom.xml?
Где мне нужно настроить этот плагин.maven-enforcer-plugin - где настроить в Maven
Нужно ли идти в settings.xml уровне или на каждом уровне файла проекта или подпроекта pom.xml?
Это полностью зависит от того, какой проект/модуль, который вы хотели бы применить правило Enforcer.
E.g.
Parent -- pom.xml
|
|----module 1-------> pom.xml
|
|----module 2-------> pom.xml
Если вы хотите, чтобы применить правило на модуле ребенка два - добавить его pom.xml модуля 2.
Если вы хотите, чтобы ваш плагин видимым для всех ваших модулей, добавьте его в pom.xml родительского проекта.
Если вы хотите сделать свой плагин видимым для проектов во всей своей среде/организации/компании, создайте бомбу (спецификацию) для вашей среды/организации/компании. Добавьте плагин в bom. Опубликуйте bom в репозитории и настройте его в своем проекте как родительский.
Вы должны настроить maven-enforcer-plugin в обычных местах, как это:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireSameVersions>
<plugins>
<plugin>org.apache.maven.plugins:maven-surefire-plugin</plugin>
<plugin>org.apache.maven.plugins:maven-failsafe-plugin</plugin>
<plugin>org.apache.maven.plugins:maven-surefire-report-plugin</plugin>
</plugins>
</requireSameVersions>
<requireMavenVersion>
<version>${maven.version}</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Спасибо. Но, мой вопрос заключался в том, где поставить вышеуказанный код. В settings.xml ИЛИ в pom.xml (root, parent, module pom)? –
Другие пояснения, если я поместил вышеуказанный код в settings.xml в ~/.m2 или в $ M2_HOME/conf/settings.xml, будет ли он каскадировать эффект плагина maven-enforcer для любого проекта/подпроекта (модуль/ребенок )? Благодарю. –
Если вы прочитали мой ответ и заглянули в мою данную ссылку, вы должны знать ответ, который есть. Поместите это в пом. settings.xml не может быть причиной того, что невозможно установить секцию сборки в настройках или в профиле в settings.xml – khmarbaise
Спасибо, я попытался поместить код в settings.xml на ~/.m2, но он не дает ошибка, даже если есть записи -SNAPSHOT в файлах pom (на разных уровнях в проекте). Мне интересно, нужно ли мне вводить код в каждой помпе. –
Я не видел плагинов, настроенных в файле settings.xml. См. Ссылку - http://maven.40175.n5.nabble.com/Adding-plugin-to-settings-xml-td512724.html. – asg