Gradle每隔一段时间都会查询更新依赖解决办法

问题描述

最近有一个项目需要从外网库下载相关的依赖,然后最近外网上不去了,自己的项目也无法Build了。于是纳闷,不对呀,相关的依赖我早就已经缓存到本地了呀,不用再下载依赖了呀,为啥还没办法Build?

原因

当远程仓库上传了相同版本依赖时,有时需要为缓存指定一个时效去检查远程仓库的依赖的版本,Gradle会每隔一段时间检查远程依赖是否存在更新。因此就算本地存在缓存,也会联网检查更新,由于无法连接依赖库,所以Build失败了。

解决办法

  1. 修改缓存的时效
configurations.all {
    //每隔24小时检查远程依赖是否存在更新
     resolutionStrategy.cacheChangingModulesFor 24, 'hours'
    //每隔10分钟..
    //resolutionStrategy.cacheChangingModulesFor 10, 'minutes'
    // 采用动态版本声明的依赖缓存10分钟
    resolutionStrategy.cacheDynamicVersionsFor 10*60, 'seconds'
}
  1. 使用离线模式(Offline work)
    Gradle提供一种离线模式,使得Build时总是采用缓存而不去联网检查。在setting -> Gradle 中勾选Offline work即可。不过这样会导致当缓存中不存在依赖时直接Build失败。


    设置离线模式

你可能感兴趣的:(Gradle每隔一段时间都会查询更新依赖解决办法)