Согласно справочнику maven POM , мы можем определить несколько <configuration>
тегов для плагинов maven.
<plugin>
<groupId/>
<artifactId/>
<version/>
<extensions/>
<executions>
<execution>
<id/>
<phase/>
<goals/>
<inherited/>
<configuration/>
</execution>
</executions>
<dependencies>
...
</dependencies>
<goals/>
<inherited/>
<configuration/>
</plugin>
Если вы видите, что один <configuration>
находится внутри тега <execution>
, а другой снаружи. Давайте возьмем пример, чтобы увидеть его более четко:
Пример:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<executions>
<execution>
<id>default-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<includes>
<include>**/*Tests.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/Abstract*.java</exclude>
</excludes>
</configuration>
</execution>
</executions>
<configuration>
<includes>
<include>**/*Tests.java</include>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/Abstract*.java</exclude>
</excludes>
</configuration>
</plugin>
Рассмотрим следующий верный плагин. Имеет 2 <configuration>
. Один внутри <execution>
, а другой снаружи.
В чем разница между двумя? Пожалуйста, объясните в общих чертах, а не только для точного примера плагина. Внешнее что-то вроде глобальной конфигурации?