如何删除 "extras" 使用 java gradle 影子插件

How to remove "extras" from using java gradle shadow plugin

我在我的 java 项目中使用 gradle 影子插件。

plugins {
    id 'java'
    id 'com.github.johnrengelman.shadow' version '7.0.0'
}

我使用以下代码尽可能地摆脱了所有依赖关系。

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"))
    }
}

但是,我的 jar 文件中有所有这些额外的文件。我想删除除“eu”文件夹和“plugin.yml”中的所有内容。我该怎么做?

除非万不得已,否则不要使用 shadowJar {},只需将“implementation”更改为“compileOnly”即可将不需要的依赖项放入 jar