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

Mri*_*lla 5 gradle gradle-dependencies

使用 Gradle 下载依赖项时,它似乎排除了可选依赖项。例如,我包括番石榴:

compile 'com.google.guava:guava:19.0'
Run Code Online (Sandbox Code Playgroud)

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

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

Sta*_*lav 1

根据Maven的可选依赖项的描述:

如果用户想要使用与可选依赖项相关的功能,他们必须在自己的项目中重新声明该可选依赖项。

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

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