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

Java项目使用Gradle Shadow插件如何删除jar包多余文件仅保留eu目录与plugin.yml

解决方案

你可以通过在shadowJar配置块中添加文件内容过滤规则实现需求,完整配置如下:

shadowJar {
    // 保留原有依赖排除规则
    dependencies {
        exclude(dependency("org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT"))
        exclude(dependency("org.jetbrains:annotations:22.0.0"))
        exclude(dependency("com.comphenix.protocol:ProtocolLib:4.7.0"))
    }

    // 新增文件过滤规则
    exclude '**/*' // 先默认排除所有文件
    include 'eu/**' // 保留eu目录下的所有层级内容
    include 'plugin.yml' // 保留根目录的plugin.yml配置文件
}

规则说明

  • 过滤规则优先级为:显式声明的include规则优先级高于exclude规则,因此先全局排除所有内容后,再单独指定需要保留的文件/目录即可精准控制打包产物
  • 如果后续需要新增其他需要保留的文件,只需新增对应include规则即可,例如要保留根目录的config.yml就新增一行include 'config.yml'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:18:02