使用 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-maven-plugin</artifactId>
<version>1.3.4</version>
<executions>
<execution>
<goals>
<goal>descriptor</goal>
</goals>
</execution>
</executions>
</plugin>
您的类必须在 maven-resources-plugin 类路径中可用,这可以通过将您的工件添加到插件依赖项来完成。
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<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>
...
</configuration>
</plugin>
</plugins>
...
</build>
...
</project>您现在必须在插件中声明您的自定义过滤器。mavenFilteringHint 必须遵循与您的 Plexus 组件角色提示相同的语法。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>@pom.version@</version>
<configuration>
...
<mavenFilteringHints>
<mavenFilteringHint>itFilter</mavenFilteringHint>
</mavenFilteringHints>
</configuration>
...
</configuration>
</plugin>就是这样!