使用 Gradle Shadow 插件时如何仅包含项目和重定位的类?

Noe*_*Yap 5 gradle gradle-shadow-plugin

我有以下几点:

shadowJar {
    relocate 'com.google.common', 'com.example.com.google.common'
}
Run Code Online (Sandbox Code Playgroud)

它会生成包含所有模块依赖项的“-all.jar”文件。

shadowJar {
    relocate 'com.google.common', 'com.example.com.google.common'

    dependencies {
        include('com.example.com.google.common')
    }
}
Run Code Online (Sandbox Code Playgroud)

和:

shadowJar {
    relocate 'com.google.common', 'com.example.com.google.common'

    dependencies {
        include(dependency('com.google.guava:guava:14+'))
    }
}
Run Code Online (Sandbox Code Playgroud)

两者都产生绝对没有类的“-all.jar”文件。

如何创建仅包含项目类和重定位类的“-all.jar”文件?

Noe*_*Yap 1

您需要在shadow配置中指定guava。例如:

dependencies {
    shadow 'com.google.guava:guava:14+'
}
Run Code Online (Sandbox Code Playgroud)