自定义资源过滤器

使用 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>

将自定义资源过滤器与 maven-resources-plugin 一起使用

您现在必须在插件中声明您的自定义过滤器。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>

就是这样!