小编典典

如何强制 gradle 重新下载依赖项?

all

如何告诉 gradle 从存储库重新下载依赖项?


阅读 367

收藏
2022-03-01

共1个答案

小编典典

通常,您可以使用命令行选项--refresh-dependencies
刷新
缓存中的依赖项。您也可以删除~/.gradle/caches. 在下一次构建中,Gradle 会尝试再次下载它们。

您的具体用例是什么?您使用动态依赖版本还是 SNAPSHOT 版本?


在 Unix 系统上,您可以使用以下命令删除 Gradle 下载的所有现有工件(工件和元数据):

rm -rf $HOME/.gradle/caches/

请注意, –refresh-dependencies 不会总是重新下载每个工件;如果它们与存储库中存在的副本匹配,它将使用现有副本。从 Gradle
用户指南中,刷新依赖项:

--refresh-dependencies 选项告诉 Gradle
忽略已解析模块和工件的所有缓存条目。将对所有配置的存储库执行新的解析,重新计算动态版本,刷新模块并下载工件。但是,在可能的情况下,Gradle
将在再次下载之前检查先前下载的工件是否有效。这是通过将存储库中发布的 SHA1 值与现有下载工件的 SHA1 值进行比较来完成的。

[…]

认为使用 –refresh-dependencies 将强制下载依赖项是一种常见的误解。情况并非如此:Gradle
只会执行刷新动态依赖项严格要求的操作。这可能涉及下载新的列表或元数据文件,甚至是工件,但如果没有任何改变,影响是最小的。

2022-03-01