如何告诉 gradle 从存储库重新下载依赖项?
通常,您可以使用命令行选项--refresh-dependencies 刷新缓存中的依赖项。您也可以删除~/.gradle/caches. 在下一次构建中,Gradle 会尝试再次下载它们。
~/.gradle/caches
您的具体用例是什么?您使用动态依赖版本还是 SNAPSHOT 版本?
在 Unix 系统上,您可以使用以下命令删除 Gradle 下载的所有现有工件(工件和元数据):
rm -rf $HOME/.gradle/caches/
请注意, –refresh-dependencies 不会总是重新下载每个工件;如果它们与存储库中存在的副本匹配,它将使用现有副本。从 Gradle 用户指南中,刷新依赖项:
--refresh-dependencies 选项告诉 Gradle 忽略已解析模块和工件的所有缓存条目。将对所有配置的存储库执行新的解析,重新计算动态版本,刷新模块并下载工件。但是,在可能的情况下,Gradle 将在再次下载之前检查先前下载的工件是否有效。这是通过将存储库中发布的 SHA1 值与现有下载工件的 SHA1 值进行比较来完成的。 […] 认为使用 –refresh-dependencies 将强制下载依赖项是一种常见的误解。情况并非如此:Gradle 只会执行刷新动态依赖项严格要求的操作。这可能涉及下载新的列表或元数据文件,甚至是工件,但如果没有任何改变,影响是最小的。
--refresh-dependencies 选项告诉 Gradle 忽略已解析模块和工件的所有缓存条目。将对所有配置的存储库执行新的解析,重新计算动态版本,刷新模块并下载工件。但是,在可能的情况下,Gradle 将在再次下载之前检查先前下载的工件是否有效。这是通过将存储库中发布的 SHA1 值与现有下载工件的 SHA1 值进行比较来完成的。
[…]
认为使用 –refresh-dependencies 将强制下载依赖项是一种常见的误解。情况并非如此:Gradle 只会执行刷新动态依赖项严格要求的操作。这可能涉及下载新的列表或元数据文件,甚至是工件,但如果没有任何改变,影响是最小的。