Apache Maven Clean插件

x33g5p2x  于2022-10-06 转载在 Apache  
字(2.2k)|赞(0)|评价(0)|浏览(461)

1. 概述

当你想删除项目目录中在构建时产生的文件时,可以使用Clean插件。

2. 插件的目标

Clean Plugin只有一个目标。

  • clean:clean 试图清理项目工作目录中在构建时生成的文件。默认情况下,它发现并删除project.build.directory、project.build.outputDirectory、project.build.testOutputDirectory和project.Reporting.outputDirectory中配置的目录。

3. 使用方法

Maven Clean插件,顾名思义,试图清理Maven在构建过程中生成的文件和目录。虽然有一些插件会生成额外的文件,但Clean插件假定这些文件是在目标目录内生成的。

3.1 使用命令行清理Maven项目

Clean插件可以在命令行中调用执行,无需任何额外配置。与其他插件一样,要运行Clean插件,您可以使用:

mvn clean:clean

其中第一个清洁指的是插件的别名,第二个清洁指的是插件的目标。
然而,清洁插件是一个特殊的插件,它被绑定到它自己的特殊生命周期阶段,称为清洁。因此,为了简单起见,它也可以通过使用:

mvn clean

来执行

或与其他阶段/目标一起执行,比如。

mvn clean package site

3.2 在构建过程中自动运行清洁插件

如果由于某种原因,在命令行中加入Clean是不可取的,Clean插件可以被放入项目的pom.xml中,这样它就会在每次项目构建时被执行。下面是一个样本pom.xml,用于在每次构建项目时在初始化阶段运行Clean Plugin。

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <id>auto-clean</id>
            <phase>initialize</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

4. 例子

4.1 删除未被Maven发现的其他文件

Maven Clean Plugin默认会删除目标目录。你可以配置它来删除其他目录和文件。下面的例子说明了方法。

<build>
  [...]
  <plugin>
    <artifactId>maven-clean-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
      <filesets>
        <fileset>
          <directory>some/relative/path</directory>
          <includes>
            <include>**/*.tmp</include>
            <include>**/*.log</include>
          </includes>
          <excludes>
            <exclude>**/important.log</exclude>
            <exclude>**/another-important.log</exclude>
          </excludes>
          <followSymlinks>false</followSymlinks>
        </fileset>
      </filesets>
    </configuration>
  </plugin>
  [...]
</build>

4.2 忽略Clean错误

要想在运行特定项目的清理时忽略错误,请将 failOnError 属性设置为 false。

<build>
  [...]
    <plugin>
      <artifactId>maven-clean-plugin</artifactId>
      <version>3.1.0</version>
      <configuration>
        <failOnError>false</failOnError>
      </configuration>
    </plugin>
  [...]
</build>

你也可以通过命令行忽略它们,执行以下命令:

mvn clean -Dmaven.clean.failOnError=false

6. 总结

在这个快速指南中,我们介绍了清洁插件,并给出了使用和定制它的说明。此外,我们还看到了不同的插件目标和它们的用法。

相关文章