You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置实现mvn clean执行时不删除target空目录

问题解答

可以实现,不需要修改Maven核心逻辑,仅通过maven-clean-plugin的正确配置即可达到mvn clean执行后保留空target目录的效果。

你之前配置不生效的核心原因是:maven-clean-plugin默认优先执行内置的根目录删除逻辑——直接递归删除整个target目录,这个动作不会读取你配置的文件排除/保留规则,因此才会出现配置后依然删除整个目录的情况。

可直接复用的配置

将以下配置写入项目pom.xml的<build><plugins>节点下即可:

<plugin>
  <artifactId>maven-clean-plugin</artifactId>
  <version>3.3.2</version>
  <configuration>
    <!-- 关闭插件默认删除整个target目录的内置逻辑 -->
    <excludeDefaultDirectories>true</excludeDefaultDirectories>
    <filesets>
      <fileset>
        <directory>target</directory>
        <includes>
          <!-- 匹配target目录下所有层级的文件、子目录 -->
          <include>**/*</include>
        </includes>
        <followSymlinks>false</followSymlinks>
      </fileset>
    </filesets>
  </configuration>
</plugin>

配置注意事项:

  • 请使用3.0.0及以上版本的maven-clean-plugin,低版本对excludeDefaultDirectories配置项的支持存在缺陷,无法达到预期效果
  • 如果项目存在不在target目录下的构建产物,可在<filesets>节点下新增<fileset>声明对应清理路径,不会干扰空target目录的保留效果

效果验证

配置完成后执行mvn clean命令,插件会清理target目录下的所有内容,但不会删除target目录本身,命令执行完成后你会在项目根目录看到一个空的target文件夹,完全符合需求。


内容的提问来源于stack exchange,提问作者Jan Stanicek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 21:57:23