本部分介绍如何在 Maven 插件中使用 Maven 文件管理 API。
第一步是将文件管理 API 添加为 Maven 依赖项,即在pom.xml中:
<project>
...
<dependencies>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>file-management</artifactId>
<version>1.2</version>
</dependency>
...
</dependencies>
...
</project>
第二步是创建你的 MOJO 并添加一个FileSet对象:
/**
* My MOJO
*
* @goal myGoal
*/
public class MyMojo
extends AbstractMojo
{
/**
* A list of <code>fileSet</code> rules to select files and directories.
*
* @parameter
*/
private List filesets;
/**
* A specific <code>fileSet</code> rule to select files and directories.
*
* @parameter
*/
private FileSet fileset;
...
}
要使用FileSet对象,您需要实例化FileSetManager。
FileSetManager fileSetManager = new FileSetManager(); String[] includedFiles = fileSetManager.getIncludedFiles( fileset ); String[] includedDir = fileSetManager.getIncludedDirectories( fileset ); String[] excludedFiles = fileSetManager.getExcludedFiles( fileset ); String[] excludedDir = fileSetManager.getExcludedDirectories( fileset ); fileSetManager.delete( fileset );
最后一步是 Maven 插件配置。
<project>
...
<build>
<plugins>
<plugin>
<groupId>your-plugin-groupId</groupId>
<artifactId>your-plugin-artifactId</artifactId>
<version>your-plugin-version</version>
<configuration>
<!-- List of filesets -->
<filesets>
<fileset>
<directory>some/relative/path</directory>
<includes>
<include>**/*.txt</include>
</includes>
<excludes>
<exclude>**/log.log</exclude>
</excludes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
<!-- Given fileset -->
<fileset>
<directory>some/relative/path</directory>
<includes>
<include>**/*.txt</include>
</includes>
<excludes>
<exclude>**/log.log</exclude>
</excludes>
<followSymlinks>false</followSymlinks>
</fileset>
...
</configuration>
</plugin>
...
</plugins>
</build>
...
</project>