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

如何在Gradle中排除目录?解决README文件致构建包过大问题

Gradle构建排除指定资源无效的解决办法

你的配置没生效的核心问题是路径匹配错误,以下是几种可行的修正方案:

方案1:修正srcDir对应的排除路径

你设置了srcDir 'src',意味着资源路径是基于src目录计算的,所以排除路径要对应这个基准目录:

sourceSets {
    main {
        resources {
            srcDir 'src'
            // 相对于src目录的路径,对应项目里的src/main/resources/assets/playtimer/github
            exclude("main/resources/assets/playtimer/github/**")
            // 或者更简化的写法,因为srcDir是src,直接写资源目录内的相对路径也可以
            // exclude("assets/playtimer/github/**")
        }
    }
}

方案2:使用默认资源目录规则排除

如果不需要自定义srcDir,Gradle默认的main资源目录就是src/main/resources,直接排除该目录下的目标路径更直观:

sourceSets {
    main {
        resources {
            exclude("assets/playtimer/github/**")
        }
    }
}

方案3:直接在打包任务中排除

如果上面的方法仍不生效,可以绕过sourceSets,直接在打包任务(比如jar)里添加排除规则,确保这些文件不会被打包:

jar {
    exclude("assets/playtimer/github/**")
}

验证方式

构建完成后,你可以通过以下方式确认是否生效:

  • 解压生成的jar包,检查是否存在assets/playtimer/github目录
  • 执行命令:jar tf 你的项目名称.jar,查看输出中是否包含目标路径的文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 23:09:33