gradle安装与配置

目录

 gradle简介

 gradle和maven的区别


 gradle简介

 gradle和maven的区别

gradle和maven都可以用来构建java程序,甚至在某些情况下,两者还可以互相转换。Gradle和Maven都支持并行的项目构建和依赖解析。但是gradle的三个特点让gradle可以跑的比maven快上一点:

radle为了提升构建的效率,提出了增量构建的概念,为了实现增量构建,gradle将每一个task都分成了三部分,分别是input输入,任务本身和output输出。下图是一个典型的java编译的task。

以上图为例,input就是目标jdk的版本,源代码等,output就是编译出来的class文件。

增量构建的原理就是监控input的变化,只有input发送变化了,才重新执行task任务,否则gradle认为可以重用之前的执行结果。

所以在编写gradle的task的时候,需要指定task的输入和输出。

并且要注意只有会对输出结果产生变化的才能被称为输入,如果你定义了对初始结果完全无关的变量作为输入,则这些变量的变化会导致gradle重新执行task,导致了不必要的性能的损耗。

还要注意不确定执行结果的任务,比如说同样的输入可能会得到不同的输出结果,那么这样的任务将不能够被配置为增量构建任务。

  • 构建缓存

gradle可以重用同样input的输出作为缓存,大家可能会有疑问了,这个缓存和增量编译不是一个意思吗?

在同一个机子上是的,但是缓存可以跨机器共享.如果你是在一个CI服务的话,build cache将会非常有用。因为developer的build可以直接从CI服务器上面拉取构建结果,非常的方便。

  • Gradle守护进程

gradle会开启一个守护进程来和各个build任务进行交互,优点就是不需要每次构建都初始化需要的组件和服务。

同时因为守护进程是一个一直运行的进程,除了可以避免每次JVM启动的开销之外,还可以缓存项目结构,文件,task和其他的信息,从而提升运行速度。

我们可以运行 gradle --status 来查看正在运行的daemons进程。

从Gradle 3.0之后,daemons是默认开启的,你可以使用 org.gradle.daemon=false 来禁止daemons。

我们可以通过下面的几个图来直观的感受一下gradle和maven的性能比较:

  • 使用gradle和maven构建 Apache Commons Lang 3的比较:

  • 使用gradle和maven构建小项目(10个模块,每个模块50个源文件和50个测试文件)的比较:

  • 使用gradle和maven构建大项目(500个模块,每个模块100个源文件和100个测试文件)的比较:

可以看到gradle性能的提升是非常明显的。

gralde和maven都可以本地缓存依赖文件,并且都支持依赖文件的并行下载。

在maven中只可以通过版本号来覆盖一个依赖项。而gradle更加灵活,你可以自定义依赖关系和替换规则,通过这些替换规则,gradle可以构建非常复杂的项目。

gradle安装

  • gradle下载路径

        地址:https://gradle.org/releases/

        下载完毕后在本地目录解压即可。

  • 配置环境变量

添加系统变量GRADLE_HOME

在系统变量 path中加入:%GRADLE_HOME%\bin;

 在cmd输入gradle -v验证是否安装成功

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值