In a Maven <plugin>
element there is an <executions>
element which contains multiple <execution>
elements. Each <execution>
element can have an <id>
element containing a string. What references those <id>...</id>
elements? What does it mean to omit that element? What are the semantics of the <id>
element?
For example:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default-jar-execution</id>
<configuration>
<finalName>mainjar</finalName>
</configuration>
</execution>
<execution>
<id>extra-jar-execution</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<finalName>anotherjar</finalName>
</configuration>
</execution>
</exectutions>
</plugin>
[...]
</plugins>
</build>
</project>
What references those <id>default-jar-execution</id>
and <id>extra-jar-execution</id>
values? What is the behavioral difference of changing either of those strings? What does it mean to remove those elements?