如何在多个项目中重用ant片段?假设我在根目录pom.xml
中有以下内容:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>gen-index</id>
<phase>package</phase>
<configuration>
<target>
... some non-trivial ant stuff here ...
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
<execution>
</executions>
</plugin>
如何为选定的子项目执行此ant代码片段?我已经尝试将上面的<plugin>...</plugin>
部分添加到<pluginManagement>...
,但我不知道如何指定应该运行哪些子项目的ant片段。
我假设你的插件定义与你的目标实现是在父pom.xml的pluginManagement部分
你的ant目标在一个由"gen-index"标识的执行中。如果你在你的子项目中声明这样的东西(但这次不是在pluginManagement部分…!!),它应该是工作的:
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>gen-index</id>
<execution>
</executions>
</plugin>
</plugins>
</build>
这将执行由具有相同标识符的父节点继承的目标。
我希望这对你有用。我像这样用过几次……有了这个星座,你可以在父插件pom.xml中有多个插件。
我已经创建了一个GitHub存储库与一个工作的例子:https://github.com/StefanHeimberg/stackoverflow-16056194