gradle 离线模式offline 用法

来源:互联网 发布:淘宝卖家无法开通花呗 编辑:程序博客网 时间:2024/06/07 05:08
1。 离线模式 offline
所谓离线模式offline,就是gradle在解析依赖的时候采用本地的依赖库(如 GRADLE_USER_HOME指定的路径),而不是依据项目build.gradle文件中设置的仓库地址进行解析。这样就可以很快速的完成解析工作,而不至于花大量时间连接依赖仓库。但是采用这种模式有一个前提:项目所有的依赖都已经存在本地依赖库中。所以,若是项目中有新增或者修改依赖,则不能采用offline模式因为此时本地仓库中可能不存在项目需要的依赖。总之,只要明确本地仓库中已经拥有项目的所有依赖,即可以采用离线模式进行编译项目等操作。
用法:
(1)采用gradle 命令,则直接在命令后加 --offline,如:gradlew build --offlline
(2)若是采用IDE执行gradle,可以在IDE上对gradle 进行设置,如 intellij idea 工具:

选择Offline work 则开启离线模式。 或者是直接在此处开关控制:


例子:假设项目中新增一个依赖:
compile('org.springframework.kafka:spring-kafka:2.0.1.RELEASE')
且本地仓库(通常是GRADLE_USER_HOME指定的路径)中没有该依赖,则当采用离线模式编译时,不管是采用gradle 命令方式: gradle assemble --offline 还是intellij idea 开启离线模式然后执行编译,都没法下载到该依赖。 而只要其中任何一个方式关掉离线模式编译,则能正确下载依赖。如:先执行 gradle assemble,此时会连接项目中配置的远程仓库下载依赖包到本地依赖仓库。 然后intellij idean 依旧采用离线模式进行编译,这时intellij idea中项目也可以正确编译,本地仓库中已经拥有了相关依赖。