我将在我的项目的 pom.xml 中多次执行我的自定义 maven 插件。我的配置是这样的:
...
<build>
<plugins>
<plugin>
<groupId>myGroupId</groupId>
<artifactId>pluginId</artifactId>
<executions>
<execution>
<id>ex-1</id>
<goals>
<goal>goal-name</goal>
</goals>
<configuration>
<option>value_1</option>
</configuration>
</execution>
<execution>
<id>ex-2</id>
<goals>
<goal>goal-name</goal>
</goals>
<configuration>
<option>value_2</option>
</configuration>
</execution>
<!-- quite plenty more executions here -->
</executions>
<configuration>
<commonOption>common_value</commonOption>
</configuration>
</plugin>
</plugins>
</build>
...
... 连同 maven 规范,就像在示例中一样,它工作正常。
但是有很多冗余——每个执行(大约 20 个)都有自己的部分目标,并且所有这些都指定了完全相同的一个目标。心想——我会在插件部分指定一个默认值。查看了 maven pom xml-schema 和 - 万岁,有一个选项。我已经做到了以下几点:
...
<build>
<plugins>
<plugin>
<groupId>myGroupId</groupId>
<artifactId>pluginId</artifactId>
<executions>
<execution>
<id>ex-1</id>
<configuration>
<option>value_1</option>
</configuration>
</execution>
<execution>
<id>ex-2</id>
<configuration>
<option>value_2</option>
</configuration>
</execution>
<!-- same plenty more executions changed likewise -->
</executions>
<goals>
<goal>goal-name</goal>
</goals>
<configuration>
<commonOption>common_value</commonOption>
</configuration>
</plugin>
</plugins>
</build>
...
……然后砰!它不起作用。Pom 正在被解析,项目被构建,但插件没有被执行——甚至一次都没有。为什么?是我弄错了,还是什么?Maven缺乏功能?漏洞?