V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nekolr
V2EX  ›  Java

关于构建工具的一个疑惑

  •  1
     
  •   nekolr · 2018-01-01 16:58:01 +08:00 · 3846 次点击
    这是一个创建于 2518 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新人,javaer 不到一年。

    我平时也是用 maven,公司也是在用 maven,但是有朋友推荐我学习 gradle,这几天我自学了一点,感觉有点难懂,并且感觉不到那种很大的惊喜,学习的欲望就不是很强了。

    我去码云看了看,MVP 的很多项目都是 maven 构建的,也查了查,发现还是 android 用 gradle 比较多,因此十分疑惑,既然 gradle 是结合了 ant 和 maven 两者优点的,java 社区为啥感觉没有跟进呢,反而是 android 用的多,有什么特殊的理由吗?

    22 条回复    2018-01-02 08:19:29 +08:00
    zhaohui318
        1
    zhaohui318  
       2018-01-01 17:14:11 +08:00
    就像你说的,没有很大的惊喜,所以大家跟进很慢。
    android 是因为 IDE Android Studio 默认使用的就是 Gradle
    nekolr
        2
    nekolr  
    OP
       2018-01-01 17:18:00 +08:00
    @zhaohui318 谢谢,因为是刚学 gradle,简单的了解了一下,浮在表面,所以可能会有这种认识,也许其实真的就是那样。
    x18960
        3
    x18960  
       2018-01-01 17:22:38 +08:00
    对 默认使用 你不觉得慢吗?

    而且工具不一定要第一时间跟进把
    nekolr
        4
    nekolr  
    OP
       2018-01-01 17:25:21 +08:00
    @x18960 这个东西出了好些时间了,也不算第一时间了啊
    x18960
        5
    x18960  
       2018-01-01 17:26:36 +08:00
    @nekolr 其实 V2 也开了好久了 你怎么才来啊
    clino
        6
    clino  
       2018-01-01 17:27:58 +08:00
    gradle 构建在 andorid 里用我感觉造成了不少乱七八糟的问题
    searene
        7
    searene  
       2018-01-01 17:30:20 +08:00
    对于大部分编译任务 maven 都能够很好的完成,所以也没有什么必要一定要换成 gradle
    nekolr
        8
    nekolr  
    OP
       2018-01-01 17:34:00 +08:00
    @searene 谢谢,这几天自学了些,感觉没有必要在学下去了,还不如去学点别的东西
    jlkm2010
        9
    jlkm2010  
       2018-01-01 17:45:05 +08:00
    spring hibernate 用的都是 gradle 构建,我们公司也在用,构建配置简介很多,写些自定义 task 也很方便
    nekolr
        10
    nekolr  
    OP
       2018-01-01 17:51:59 +08:00
    @jlkm2010 算了,本着够用就行的原则,我还是去学别的东西吧,这工具等换工作要求用时再去搞也不迟,哈哈
    movistar
        11
    movistar  
       2018-01-01 18:10:03 +08:00
    copy file 这种简单的不能再简单的功能对于 Maven 来说,都要写个 Maven 插件,Groovy 两行写完
    不过由于动态能力太强,连 IDEA 对 Gradle 的支持都非常差
    我见过一个工程引入了 2 份 dependency,一个 Hadoop 1.x 一个 2.x
    IDEA 的依赖识别就是不对,不管怎么样都没法切到 2.x 的源码....
    用 Maven 就很简单,switch 一下 profile 就好了.....
    HangoX
        12
    HangoX  
       2018-01-01 18:10:24 +08:00 via Android
    gradle 写自定义 task 要比 maven 容易很多,语法好像写代码一样,简洁很多,maven 有点累赘
    aristotll
        13
    aristotll  
       2018-01-01 18:38:34 +08:00
    gradle 你先要对 groovy 有一定的理解 就知道他好了

    maven 流行不过是简单罢了
    CFO
        14
    CFO  
       2018-01-01 19:10:18 +08:00 via Android
    只是构建个项目的话 maven 要友好很多 但是有定制化的构建需求的话 Gradle 就很棒棒了 最重要的是 xml 配置光看着就烦死了
    micean
        15
    micean  
       2018-01-01 21:20:46 +08:00
    gradle 先进在可以直接写脚本
    WispZhan
        16
    WispZhan  
       2018-01-01 21:31:28 +08:00
    因为大部分的构建任务很简单。几个小插件就完成了,所以对比 Maven 和 Gradle 几乎没有什么区别。通常这种情况,大概最大的区别就是一个用的 XML 冗长,一个用的 groovy 简明吧。
    ---
    但是对于复杂的构建任务,Maven 就很弱势了。不支持自定义 task,必须通过 plugin 来实现。
    而 Gradle 直接基于内建的 Groovy 语法,很容易实现。而且一些条件编译也很容易。另外 Gradle 支持很多其他平台混编,C/C++,JS 等等。
    ---
    最近打算把公司项目里的 Maven 换成 Gradle,在使用 Docker 的时候 Maven 配置 plugin 太但疼了,灵活性不如 Gradle 的 Plugin,DSL 也冗长,一配置一大堆。
    waruqi
        17
    waruqi  
       2018-01-02 00:29:24 +08:00 via Android
    如果是 c/c++构建的话 试试 xmake
    pynix
        18
    pynix  
       2018-01-02 01:27:28 +08:00
    可能你不太了解脚本语言的 DSL
    jimisun
        19
    jimisun  
       2018-01-02 05:37:51 +08:00 via Android
    javaer1 年是工作一年还是学习 java1 年
    hujianxin
        20
    hujianxin  
       2018-01-02 07:25:12 +08:00
    这个真心无所谓了,等项目、公司用到 gradle 的时候,再学也不迟,一天就搞定了,千万别把时间浪费到这里,别听他们吹 gradle
    nekolr
        21
    nekolr  
    OP
       2018-01-02 08:15:26 +08:00 via Android
    @jimisun 工作不到一年
    nekolr
        22
    nekolr  
    OP
       2018-01-02 08:19:29 +08:00 via Android
    @WispZhan 谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   998 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:10 · PVG 04:10 · LAX 12:10 · JFK 15:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.