我将对我的自定义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架构和 - 万岁,这是一个选项。我去了以下:
...
<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功能?错误?
你的插件绑定到哪个生命周期阶段? – khmarbaise
它必然会初始化阶段。我通过调用'mvn initialize'或'mvn install'来测试它。没有用。 –
您是否尝试过'mvn -X install'并深入了解日志文件? – khmarbaise