Gradle 8.2.1试玩

    说起这玩意,几年前玩的是旧版本,当时也只是为了看开源的代码的时候方便编译别人的代码,现在有空的时候稍微弄得深一点。

    结合MAVEN说一下自己的感受。

    1  如果你的工程中的模块不超过10个,且没有什么定制或者特殊的需求,选择MAVEN可能更快搭建 

    2  如果工程很大或者你有一些定制需求,比MAVEN+脚本插件确实是方便不少。比如我碰见过要动态依赖版本的,不管这个需求合理与否,为了实现这个,我要么用脚本,要么自己写插件,要么用profile猥琐的写一堆恶心的,这显然是XML的啰嗦引起的。

    3  GRADLE的缺点是向下兼容不好,说好听点是经常变化,说不好听点就是类似于Scala一样,动不动不兼容,这也导致文档最好只看官方的,不然你网上查来的经常不能用(因为我玩的是最新版)

4  GRADLE 其实重点是构建管理,MAVEN其实重点仓库管理 (GAV)

    结论: 玩起来还不错,我迁移了几个项目到这个GRADLE上去了,编译速度确实是会快,当然这个快主要原因是各种cache(有的cache还可以跨机器),我觉得在大项目非常香。

    管理版本也非常的不错,可以满足各种MAVEN不好实现或者难易实现的。

   另外对于这个GRADLE,不少人用了就喷 ,我觉得没必要喷,玩一下,知道他的优缺点,至少要先学会再来喷吧, 我还是挺喜欢用的,但是真的希望它版本最好控制一下向下兼容。

  最后一句:GRADLE给了你自由,所以稍微有点门槛,但是我觉得挺好玩的。

  最后对学GRADLE觉得有点小困难的,可以考虑直接实现一个小目标: 

    把生产的迁移一个到GRADLE,实现以下几个小点

    1  MAVEN的统一版本管理在GRADLE中怎么做?   

    2 GRADLE中去推送一份构建物到MAVEN怎么做?    

    3  GRADLE中如何控制下载依赖JARA的时候也下载源码呢?idea/eclipse插件

    4  构建的时候对快照依赖的更新怎么设置和刷新呢

    5 做个TASK实现 如下功能,假如你有一个工程,需要推到MAVEN中心的有5个模块的构建物。

       其中3个是一组,另外2个是一组,用TASK来进行分组推送

   6  MAVEN中有个Profile的概念,你如何在GRADLE中实现呢,方式有多种,选一种你自己感兴趣的

    7 implementation和api到底区别是什么? 

   8  项目encoding和JDK版本设置

   9 稍微再了解一下并行构建之类,几种Cache怎么样用起来,DAG的概念,构建的生命周期,再可以写写简单的插件(目前常见的插件有两种方式)

完成这几个Gradlea基本入门了

再稍微看一点理论,其实Gradle 其实本身没什么功能,比MAVEN功能可以理解成更少。都是靠插件来扩展功能。 Gradle一切是TASK来驱动,你可以对TASK做配置,然后再运行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值