关于构建工具的一个疑惑

2018-01-01 16:58:01 +08:00
 nekolr

新人,javaer 不到一年。

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

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

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

而且工具不一定要第一时间跟进把
nekolr
2018-01-01 17:25:21 +08:00
@x18960 这个东西出了好些时间了,也不算第一时间了啊
x18960
2018-01-01 17:26:36 +08:00
@nekolr 其实 V2 也开了好久了 你怎么才来啊
clino
2018-01-01 17:27:58 +08:00
gradle 构建在 andorid 里用我感觉造成了不少乱七八糟的问题
searene
2018-01-01 17:30:20 +08:00
对于大部分编译任务 maven 都能够很好的完成,所以也没有什么必要一定要换成 gradle
nekolr
2018-01-01 17:34:00 +08:00
@searene 谢谢,这几天自学了些,感觉没有必要在学下去了,还不如去学点别的东西
jlkm2010
2018-01-01 17:45:05 +08:00
spring hibernate 用的都是 gradle 构建,我们公司也在用,构建配置简介很多,写些自定义 task 也很方便
nekolr
2018-01-01 17:51:59 +08:00
@jlkm2010 算了,本着够用就行的原则,我还是去学别的东西吧,这工具等换工作要求用时再去搞也不迟,哈哈
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
2018-01-01 18:10:24 +08:00
gradle 写自定义 task 要比 maven 容易很多,语法好像写代码一样,简洁很多,maven 有点累赘
aristotll
2018-01-01 18:38:34 +08:00
gradle 你先要对 groovy 有一定的理解 就知道他好了

maven 流行不过是简单罢了
CFO
2018-01-01 19:10:18 +08:00
只是构建个项目的话 maven 要友好很多 但是有定制化的构建需求的话 Gradle 就很棒棒了 最重要的是 xml 配置光看着就烦死了
micean
2018-01-01 21:20:46 +08:00
gradle 先进在可以直接写脚本
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
2018-01-02 00:29:24 +08:00
如果是 c/c++构建的话 试试 xmake
pynix
2018-01-02 01:27:28 +08:00
可能你不太了解脚本语言的 DSL
jimisun
2018-01-02 05:37:51 +08:00
javaer1 年是工作一年还是学习 java1 年
hujianxin
2018-01-02 07:25:12 +08:00
这个真心无所谓了,等项目、公司用到 gradle 的时候,再学也不迟,一天就搞定了,千万别把时间浪费到这里,别听他们吹 gradle

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/419158

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX