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

Gradle Groovy中如何用路径通配符批量删除多位置target文件夹

解决Gradle clean任务批量删除多层级target文件夹的问题

你直接用delete("${projectDir}/**/target")不生效的原因是,Gradle直接解析字符串通配符时会依赖操作系统的文件系统匹配规则,跨平台兼容性差,容易出现匹配不到的情况。换用Gradle内置的文件树匹配器,就能可靠批量删除所有层级的target文件夹。

给你两种简洁的可行写法:

方法一:在clean任务中直接用fileTree指定匹配规则

clean {
    delete fileTree(projectDir) {
        include '**/target'
        // 若有不需要删除的特定target,可添加exclude规则,比如 exclude 'src/main/resources/keep/target'
    }
}

方法二:先获取所有匹配目录再执行删除

clean {
    delete project.fileTree('.').include('**/target')
}

这两种写法都基于Gradle原生的文件匹配逻辑,能跨平台准确找到项目下所有层级的target文件夹并删除。执行gradle clean --info还能查看详细删除日志,确认所有目标文件夹都被正确处理。

内容的提问来源于stack exchange,提问作者Mohamed Ishad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:52:20