maven-clean-plugin 是 Maven 中一个非常重要的插件,用于清理项目构建过程中生成的文件和目录。这个插件通常在项目的 clean 生命周期阶段执行,以确保每次构建都是从一个干净的状态开始。

基本配置

首先,我们需要在 pom.xml 文件中添加 maven-clean-plugin 的配置:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <build>
        <plugins>
            <!-- Clean Plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <id>default-clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                        <configuration>
                            <filesets>
                                <fileset>
                                    <directory>${project.build.directory}</directory>
                                    <includes>
                                        <include>**/*</include>
                                    </includes>
                                </fileset>
                            </filesets>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

详解各个部分

1. 插件声明
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-clean-plugin</artifactId>
    <version>3.1.0</version>
</plugin>

详解:

  • groupId: 插件的组织标识符。
  • artifactId: 插件的唯一标识符。
  • version: 插件的版本号。
2. 执行阶段和目标
<executions>
    <execution>
        <id>default-clean</id>
        <phase>clean</phase>
        <goals>
            <goal>clean</goal>
        </goals>
        <configuration>
            ...
        </configuration>
    </execution>
</executions>

详解:

  • id: 执行的唯一标识符。
  • phase: 指定执行的阶段,这里是 clean 阶段。
  • goals: 指定要执行的目标,这里是 clean
3. 配置要清理的文件和目录
<configuration>
    <filesets>
        <fileset>
            <directory>${project.build.directory}</directory>
            <includes>
                <include>**/*</include>
            </includes>
        </fileset>
    </filesets>
</configuration>

详解:

  • filesets: 定义要清理的文件集合。
    • directory: 要清理的目录,这里设置为 target 目录。
    • includes: 包含的文件类型,使用通配符匹配,例如 **/* 表示所有子目录下的所有文件。

自定义清理任务示例

假设我们希望在清理过程中删除特定的文件或目录,可以自定义 filesets 配置。例如,我们想要删除 target/generated-sources 目录:

<configuration>
    <filesets>
        <fileset>
            <directory>${project.build.directory}/generated-sources</directory>
            <includes>
                <include>**/*</include>
            </includes>
        </fileset>
    </filesets>
</configuration>

java八股文电籽版整理好啦,需要的可以思博主!!

总结

maven-clean-plugin 是一个功能强大且灵活的插件,用于清理项目构建过程中生成的文件和目录。通过合理配置,可以实现对特定文件和目录的清理操作。了解并掌握这些配置,可以大大提高项目的灵活性和可维护性。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐