Gradle:如何在多个版本中包含库以满足依赖关系

标签 gradle dependencies dependency-management

我需要在我的 Java Gradle 项目中使用两个库。这两个库都依赖于 Google Guava (com.google.common)。

问题是一个库需要 Guava 19.0,而另一个需要 Guava 23.0。 Guava 的公共(public) API 有一些 重大更改 在 19.0 和 23.0 之间,所以我不能简单地强制依赖完全是 Guava 23.0(例如,建议 in this answer )。

有没有办法在 Gradle 内部解决这个问题?

最佳答案

简短的回答:没有

Gradle 在编译代码时不支持同一个库的多个版本。默认行为是在发现冲突时采用最新的,但可以更改它以覆盖 Resolution Strategy

但就您而言,这些选项都不会帮助您。

关于Gradle:如何在多个版本中包含库以满足依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48784690/

相关文章:

java - 在 gradle 构建期间删除部分代码

python - 在 FastAPI 中使用多文件应用程序的配置/依赖关系

java - (Android) 不同风格的运行时依赖管理

java - IntelliJ中使用的是哪个maven右键->maven->reimport

android - Intellij Gradle 同步失败

android - 如何从库中删除未使用的资源?

android - Gradle 找不到 'testDebug' 任务

r - 安装具有 CRAN 镜像依赖项的本地 R 包

haskell - 堆栈没有正确解决依赖关系

c# - Nuget 项目依赖 hell