[Gradle中文教程系列]-跟我学Gradle-5.4:依赖-依赖的更新与缓存
2016-12-28 11:46
225 查看
更新依赖
在执行build、compile等任务时会解析项目配置的依赖并按照配置的仓库去搜寻下载这些依赖。默认情况下,Gradle会依照Gradle缓存->你配置的仓库的顺序依次搜寻这些依赖,并且一旦找到就会停止搜索。如果想要忽略本地缓存每次都进行远程检索可以通过在执行命令时添加--refresh-dependencies参数来强制刷新依赖。
gradle build --refresh-dependencies
当远程仓库上传了相同版本依赖时,有时需要为缓存指定一个时效去检查远程仓库的依赖笨版本,Gradle提供了
cacheChangingModulesFor(int, java.util.concurrent.TimeUnit),
cacheDynamicVersionsFor(int, java.util.concurrent.TimeUnit)两个方法来设置缓存的时效
configurations.all { //每隔24小时检查远程依赖是否存在更新 resolutionStrategy.cacheChangingModulesFor 24, 'hours' //每隔10分钟.. //resolutionStrategy.cacheChangingModulesFor 10, 'minutes' // 采用动态版本声明的依赖缓存10分钟 resolutionStrategy.cacheDynamicVersionsFor 10*60, 'seconds' } dependencies { // 添加changing: true compile group: "group", name: "module", version: "1.1-SNAPSHOT", changing: true //简写方式 //compile('group:module:1.1-SNAPSHOT') { changing = true } }
缓存管理
缓存位置管理
Gradle在按照配置的仓库去搜寻下载依赖时,下载的依赖默认会缓存到USER_HOME/.gradle/caches目录下,当然也可以手工修改这个位置。具体可以参考如下三种方式:
通过添加系统变量 GRADLE_USER_HOME
设置虚拟机参数 org.gradle.user.home 属性
通过命令行-g或者 –gradle-user-home 参数设置
离线模式(总是采用缓存内容)
Gradle提供了一种离线模式,可以让你构建时总是采用缓存的内容而无需去联网检查,如果你并未采用动态版本特性且可以确保项目中依赖的版本都已经缓存到了本地,这无疑是提高构建速度的一个好选择。开启离线模式只需要在执行命令时候添加
--offline参数即可。当然,采用这种模式的也是有代价的,如果缓存中搜寻不到所需依赖会导致构建失败。
gradle build --offline
相关文章推荐
- [Gradle中文教程系列]-跟我学Gradle-5.4:依赖-依赖的更新与缓存
- [Gradle中文教程系列]-跟我学Gradle-5.1:依赖的坐标与范围
- [Gradle中文教程系列]-跟我学Gradle-5.3:依赖-管理依赖的版本(传递(transitive)\排除(exclude)\强制(force)\动态版本(+))
- [Gradle中文教程系列]-跟我学Gradle-5.6:依赖-依赖报告和冲突的解决
- [Gradle中文教程系列]-跟我学Gradle-5.3:依赖-管理依赖的版本(传递(transitive)\排除(exclude)\强制(force)\动态版本(+))
- [Gradle中文教程系列]-跟我学Gradle-5.2:依赖的分类
- [Gradle中文教程系列]-跟我学Gradle-5.5:依赖-构件的上传与发布
- [Gradle中文教程系列]-跟我学Gradle-5.7:依赖-上传与发布番外篇-发布到Jcenter
- [Gradle中文教程系列]-跟我学Gradle-5.0:依赖-关于依赖管理
- Gradle系列教程之依赖管理
- Gradle系列教程之依赖管理
- [Gradle中文教程系列]-跟我学Gradle-14.1:Gradle IDEA集成插件的使用
- [Gradle中文教程系列]-跟我学Gradle- 8.5 - 多模块项目- 分离配置
- [Gradle中文教程系列]-跟我学Gradle-8.3-多模块项目- settings文件
- Gradle系列教程之依赖管理(转)
- [Gradle中文教程系列]-跟我学Gradle-15:团队协作 - 使用Gradle Wrapper来统一构建版本
- [Gradle中文教程系列]-跟我学Gradle-附录:gradle命令行详解
- 2.[Gradle中文教程系列]跟我学Gradle-下载和安装Gradle
- [Gradle中文教程系列]-跟我学Gradle-14.2:eclipse中Gradle插件的使用
- [Gradle中文教程系列]-跟我学Gradle-8.7.多模块项目之 - spring boot + gradle + 构建公共jsp页面的多模块项目