美文网首页gradlegradleGradle中文用户组
[Gradle中文教程系列]-跟我学Gradle-5.4:依赖-

[Gradle中文教程系列]-跟我学Gradle-5.4:依赖-

作者: PKAQ | 来源:发表于2016-12-28 11:43 被阅读4629次

    上一篇:依赖版本的管理(传递性/排除/动态版本/强制/)

    更新依赖

    在执行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
    

    下一篇:构件的上传与发布

    相关文章

      网友评论

      • b5f8c36f5b5c:你好,我这边有个ionic的移动端项目,gradle的依赖complpliation 过时了,怎么办
        b5f8c36f5b5c:@PKAQ 哦,sorry,是compliation这个,请指教
        PKAQ:@超兽5212 complpliation 是什么鬼
        b5f8c36f5b5c:向您求助,请赐教
      • xiaobinZh:翻译的很好

      本文标题:[Gradle中文教程系列]-跟我学Gradle-5.4:依赖-

      本文链接:https://www.haomeiwen.com/subject/djdyvttx.html