使用 2.5 版,您现在可以构建自己的自定义资源过滤器。
您的自定义资源过滤器类必须实现org.apache.maven.shared.filtering.MavenResourcesFiltering。
您的自定义资源过滤器类必须标记为 Plexus 组件。下面是一个带有 roleHint itFilter 的示例。
/** * @plexus.component role="org.apache.maven.shared.filtering.MavenResourcesFiltering" * role-hint="itFilter" */ public class ItFilter implements MavenResourcesFiltering
然后,您必须在构建中激活 mojo,它将扫描 javadoc 注释以将这些注释转换为 plexus 组件元数据。
<plugin> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-component-metadata</artifactId> <version>1.7.1</version> <executions> <execution> <goals> <goal>generate-metadata</goal> </goals> </execution> </executions> </plugin>
您的类必须在 maven-resources-plugin 类路径中可用,这可以通过将您的工件添加到插件依赖项来完成。
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.2.0</version> <configuration> ... </configuration> <dependencies> <dependency> <groupId>custom resources filters artifact groupId</groupId> <artifactId>custom resources filters artifact artifactId</artifactId> <version>custom resources filters artifact version</version> </dependency> </dependencies> </plugin> </plugins> ... </build> ... </project>
您现在必须在插件中声明您的自定义过滤器。mavenFilteringHint 必须遵循与您的 Plexus 组件角色提示相同的语法。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.2.0</version> <configuration> ... <mavenFilteringHints> <mavenFilteringHint>itFilter</mavenFilteringHint> </mavenFilteringHints> </configuration> ... </configuration> </plugin>
就是这样!