关于构建工具的一个疑惑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
nekolr
V2EX    Java

关于构建工具的一个疑惑

  •  1
     
  •   nekolr Jan 1, 2018 4300 views
    This topic created in 3040 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
        1
    bqbkbz  
       Jan 1, 2018
    就像你说的,没有很大的惊喜,所以大家跟进很慢。
    android 是因为 IDE Android Studio 默认使用的就是 Gradle
    nekolr
        2
    nekolr  
    OP
       Jan 1, 2018
    @zhaohui318 谢谢,因为是刚学 gradle,简单的了解了一下,浮在表面,所以可能会有这种认识,也许其实真的就是那样。
    x18960
        3
    x18960  
       Jan 1, 2018
    对 默认使用 你不觉得慢吗?

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

    maven 流行不过是简单罢了
    CFO
        14
    CFO  
       Jan 1, 2018 via Android
    只是构建个项目的话 maven 要友好很多 但是有定制化的构建需求的话 Gradle 就很棒棒了 最重要的是 xml 配置光看着就烦死了
    micean
        15
    micean  
       Jan 1, 2018
    gradle 先进在可以直接写脚本
    WispZhan
        16
    WispZhan  
       Jan 1, 2018
    因为大部分的构建任务很简单。几个小插件就完成了,所以对比 Maven 和 Gradle 几乎没有什么区别。通常这种情况,大概最大的区别就是一个用的 XML 冗长,一个用的 groovy 简明吧。
    ---
    但是对于复杂的构建任务,Maven 就很弱势了。不支持自定义 task,必须通过 plugin 来实现。
    而 Gradle 直接基于内建的 Groovy 语法,很容易实现。而且一些条件编译也很容易。另外 Gradle 支持很多其他平台混编,C/C++,JS 等等。
    ---
    最近打算把公司项目里的 Maven 换成 Gradle,在使用 Docker 的时候 Maven 配置 plugin 太但疼了,灵活性不如 Gradle 的 Plugin,DSL 也冗长,一配置一大堆。
    waruqi
        17
    waruqi  
       Jan 2, 2018 via Android
    如果是 c/c++构建的话 试试 xmake
    pynix
        18
    pynix  
       Jan 2, 2018
    可能你不太了解脚本语言的 DSL
    jimisun
        19
    jimisun  
       Jan 2, 2018 via Android
    javaer1 年是工作一年还是学习 java1 年
    hujianxin
        20
    hujianxin  
       Jan 2, 2018
    这个真心无所谓了,等项目、公司用到 gradle 的时候,再学也不迟,一天就搞定了,千万别把时间浪费到这里,别听他们吹 gradle
    nekolr
        21
    nekolr  
    OP
       Jan 2, 2018 via Android
    @jimisun 工作不到一年
    nekolr
        22
    nekolr  
    OP
       Jan 2, 2018 via Android
    @WispZhan 谢谢
    About     Help     Advertise     Blog     API     FAQ     Solana     3247 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 69ms UTC 13:22 PVG 21:22 LAX 06:22 JFK 09:22
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86