[英]What references the <id> value of a Maven plugin execution?
在 Maven <plugin>
元素中有一个<executions>
元素,其中包含多个<execution>
元素。 每个<execution>
元素都可以有一个包含字符串的<id>
元素。 什么引用了那些<id>...</id>
元素? 省略那个元素是什么意思? <id>
元素的语义是什么?
例如:
<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>
什么引用了那些<id>default-jar-execution</id>
和<id>extra-jar-execution</id>
值? 更改其中任何一个字符串的行为差异是什么? 删除这些元素是什么意思?
id
元素有两个功能:
第一种情况很简单:它只允许您为执行指定一个有意义的名称。
第二种情况意味着 Maven 带有默认执行,例如,您可以在运行mvn help:effective-pom
时看到。 如果要替换/扩展现有执行,则需要使用相同的id
。 Maven 然后将合并两者。
请参阅http://maven.apache.org/guides/mini/guide-configuring-plugins.html#Using_the_executions_Tag
来自不同 POM 的相同 id 的执行被合并。
为了完整起见,我要指出,自 Maven 3.3.1(2015 年 3 月)以来,当从命令行调用 Maven 特定目标时,还有一个选项可以使用执行 ID。
见https://maven.apache.org/docs/3.3.1/release-notes.html
在此处查看有关此选项的讨论
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.