我有一个项目有两个依赖项,它们都对不同版本的Guava有三级依赖关系; 14.0.1和18

14.0.1是提供的,我已经在我的超级 jar 中捆绑了版本18并对其进行着色以将有问题的包 com.google.common.collect 重新定位到 shaded.com.google.common.collect ,并使用 jar -tf 进行验证

这是我对阴影 jar 的理解变得朦胧的地方 - 我的两个依赖 jar 需要Guava应该知道哪个包使用标准和阴影的?

我正在使用gradle来构建我的项目,使用 com.github.jengelman.gradle.plugins:shadow:1.2.3 插件 .