4

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

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

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

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

4

1 回答 1

1

根据 Maven 的Optional Dependencies的描述:

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

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

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

于 2016-11-25T07:10:33.033 回答