我正在分析一个可以在以下configuration
部分配置的 Maven 插件plugin
:
<plugin>
...
<executions>...</executions>
<configuration>
<!-- items placed here are visible to the MOJO -->
</configuration>
</plugin>
该插件完全忽略 的任何配置项execution
,但是:
<plugin>
...
<executions>
<execution>
<id>execution1</id>
<phase>test</phase>
<goals><goal>test</goal></goals>
<configuration>
<!-- items placed here are ignored -->
</configuration>
</execution>
</executions>
</plugin>
我用mvn test
. 我确定执行会发生,因为 Mavenid
正确打印了它,但未配置插件 - 打印有关不正确设置的警告,当该<configuration>
部分移出<executions>
.
问题:是插件的实现方式,它只接受“顶级”配置吗?我研究了它的源代码,在我看来,它是 Maven 调用 MOJO 类上的设置器,并且它对于选项来自哪个部分的插件是透明的。
MOJO 注释为:
* @component
* @goal test
* @phase test
* @execute phase="jasmine-process-test-resources"