nekolr
V2EX  ›  Java

关于构建工具的一个疑惑

  •  1
     
  •   nekolr · Jan 1, 2018 · 4690 views
    This topic created in 3231 days ago, the information mentioned may be changed or developed.

    新人,javaer 不到一年。

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

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

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

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

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