如何让Gradle自动下载可选依赖项?

使用Gradle下载依赖项时,它似乎排除了可选的依赖项.例如,我加入了番石榴:

compile 'com.google.guava:guava:19.0'

它没有下载此处列出的可选依赖项:https://mvnrepository.com/artifact/com.google.guava/guava/19.0

我一直在学习Gradle并移植遗留应用程序以使用Gradle.该应用程序有一个Python脚本包装器,总是下载可选的依赖项,我在这里碰壁了.

最佳答案 根据Maven的
Optional Dependencies的描述:

If a user wants to use functionality related to an optional dependency, they will have to redeclare that optional dependency in their own project.

Gradle与Maven具有相同的行为,如果你想使用一些传递的可选依赖项 – 你必须手动声明它们.

您可以尝试找到一些解决方法,但无论如何,默认情况下包含所有可选依赖项似乎有点奇怪,甚至不检查,是否真的需要它们.当然,您可以尝试移植逻辑以使用Gradle运行现有的Python脚本,以将所有可选的依赖项收集到本地目录中,并将其声明为file dependencies.

点赞