补丁插件可以配置为应用来自多个目录的补丁集。在下面的示例中,插件设置为应用错误修复目录中的所有补丁并进行优化(不会重新应用相同的补丁)以及增强目录中的所有补丁。如果您没有对项目源代码的提交访问权限但需要应用错误修复和增强补丁,则可能会出现这种情况。两个不同的补丁源目录仅作为可以配置的示例显示。
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-patch-plugin</artifactId>
<version>1.2</version>
<configuration>
<targetDirectory>${moduleDirectory}</targetDirectory>
<skipApplication>false</skipApplication>
</configuration>
<executions>
<execution>
<id>bugfix-patches</id>
<configuration>
<patchDirectory>src/main/patches/bugfix</patchDirectory>
<patchTrackingFile>${project.build.directory}/optimization-files/bugfix/patches-applied.txt</patchTrackingFile>
<naturalOrderProcessing>true</naturalOrderProcessing>
</configuration>
<phase>process-sources</phase>
<goals>
<goal>apply</goal>
</goals>
</execution>
<execution>
<id>enhancement-patches</id>
<configuration>
<patchDirectory>src/main/patches/enhancement</patchDirectory>
<patchTrackingFile>${project.build.directory}/optimization-files/enhancement/patches-applied.txt</patchTrackingFile>
<naturalOrderProcessing>true</naturalOrderProcessing>
</configuration>
<phase>process-sources</phase>
<goals>
<goal>apply</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
[...]
</build>
[...]
</project>