2014-09-17 4 views

ответ

1

Это полностью зависит от того, какой проект/модуль, который вы хотели бы применить правило Enforcer.

E.g. 
Parent -- pom.xml 
| 
|----module 1-------> pom.xml 
| 
|----module 2-------> pom.xml 

Если вы хотите, чтобы применить правило на модуле ребенка два - добавить его pom.xml модуля 2.

Если вы хотите, чтобы ваш плагин видимым для всех ваших модулей, добавьте его в pom.xml родительского проекта.

Если вы хотите сделать свой плагин видимым для проектов во всей своей среде/организации/компании, создайте бомбу (спецификацию) для вашей среды/организации/компании. Добавьте плагин в bom. Опубликуйте bom в репозитории и настройте его в своем проекте как родительский.

+0

Спасибо, я попытался поместить код в settings.xml на ~/.m2, но он не дает ошибка, даже если есть записи -SNAPSHOT в файлах pom (на разных уровнях в проекте). Мне интересно, нужно ли мне вводить код в каждой помпе. –

+0

Я не видел плагинов, настроенных в файле settings.xml. См. Ссылку - http://maven.40175.n5.nabble.com/Adding-plugin-to-settings-xml-td512724.html. – asg

1

Вы должны настроить 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> 
+0

Спасибо. Но, мой вопрос заключался в том, где поставить вышеуказанный код. В settings.xml ИЛИ в pom.xml (root, parent, module pom)? –

+0

Другие пояснения, если я поместил вышеуказанный код в settings.xml в ~/.m2 или в $ M2_HOME/conf/settings.xml, будет ли он каскадировать эффект плагина maven-enforcer для любого проекта/подпроекта (модуль/ребенок )? Благодарю. –

+2

Если вы прочитали мой ответ и заглянули в мою данную ссылку, вы должны знать ответ, который есть. Поместите это в пом. settings.xml не может быть причиной того, что невозможно установить секцию сборки в настройках или в профиле в settings.xml – khmarbaise

Смежные вопросы