我将把我的自定义maven插件的多次执行写入我的项目的pom.xml中。我的配置是这样的:
...
<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和 - hooray,有一个选项。我已经达到了以下目标:
...
<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>
...
...和bam!它不起作用。正在解析Pom,构建项目,但插件不会被执行 - 甚至不会执行一次。为什么?我错了,还是什么? maven缺乏功能?错误?