开发 Java 项目 Gradle 一定比 Maven 好么?

63 天前
 looo
4909 次点击
所在节点    Java
49 条回复
reeco
63 天前
没有条件编译,交叉编译等需求的,直接 maven 就好了
liaojl
63 天前
grade 兼容性太差了,用 gradle wrapper 又给你下一堆不同版本的 gradle 下来,以前 4.0+版本的时候,一个守护进程占用 1G 多内存,不知道现在好些没有。如果你只是用来解决依赖,用 maven 没毛病。有些人执着于去 xml ,对于 maven 来说没必要,依赖项都是从 maven repository 上 ctrl cv 下来的,xml 格式统一,方便多人协作。反观 gradle 用 DSL ,不同人有不同的写法风格,看着头大。当然,如果你有复杂的构建任务,那还是 gradle ,用 maven 来整实属受罪。
caiqichang
63 天前
为什么 maven 没有 wrapper 这种需求,因为他的 api 很稳定,而 gradle 一个版本换一套 api
winterbells
63 天前
gradle 更新太快了,公司项目拖了很久的 publish API 好不容易改完,新版本又换语法了…
yuezk
63 天前
包管理工具最好是统一,如果已经有项目在用 Gradle 或 Maven 了,建议保持一致。如果是新项目建议尝试一下 Gradle ,包管理这类的工具有个后发优势,Gradle 吸取了 ivy, maven 和 ant 的长处,优点远大于他的缺点。然后用的时候用 Gradle wrapper ,这是官方的最佳实 ( https://docs.gradle.org/current/userguide/gradle_wrapper.html)。
yazinnnn0
63 天前
不是, 但是有些东西你只能用 gradle(kts), 比如 kmp
https://kmp.jetbrains.com/#newProject
yuezk
63 天前
@caiqichang #23 官方的 maven wrapper https://maven.apache.org/wrapper/
Ayanokouji
63 天前
@caiqichang maven 也有 wrapper 了
suibianwanwan
63 天前
gradle 好用, 用了 gradle 以后, 再也不想用 maven
gongxuanzhang
63 天前
maven 的包管理从诞生开始到现在 20 多年无人撼动,本质上就是因为他的 gav 三件套太强.
maven 的生命周期固定清晰, 一张 maven 生命周期流程图百看不厌. 所以 maven 胜在稳定.
maven 优点就是稳定,缺点也是稳定. 如果你要写一个复杂功能的插件你想死的心都有,写过的应该都有这种感受.
Gradle 优点就是灵活,缺点也是灵活. 上手难度高,各种插件繁杂且碎片.但是同样复杂的功能你在 maven 实现和 gradle 中实现的体验完全不一样.
如果你想实际体会一下性能区别,建议你用 maven 写一个 java kotlin 混编的程序, 再用 gradle 写一个,你就体会性能差距.
如果你想实际体验插件开发,那你用 maven 和 gradle 分别实现一个 project 中行数统计的功能.
我自己的感受: 跑 main,跑 test,maven 明显更快 其他都是 gradle 更胜一筹
其他你自己体会
unco020511
63 天前
你像 android 这种复杂项目,经常要自己写一些 task 来在编译过程插桩做操作,maven 就很难胜任了,服务端应该也是类似吧,一旦你的项目编译期有各种复杂操作,理论上 gradle 是更适合的
ttttttttt
63 天前
都用上 Wrapper~
- 无论 Maven 还是 Gradle ,现在都推荐用 Maven Wrapper 或 Gradle Wrapper ,保证可复现性。
- Gradle 的核心开发也说过:只要你不是开发 Gradle 本身,你就安心用 Gradle Wrapper 。

选 G/M:
- 简单开发 Java 项目,写写业务,你用熟练的就好。
- Maven 近些年没怎么更新大的 feature 了,因为核心功能简单易用,复杂部分它有扩展的插件机制。
- 想玩新工具,了解了解 Gradle ,挺好玩。
boatrain1111
63 天前
如图所示:
whatiam
63 天前
如果用 maven ,请用 maven wrapper 。
如果用 gradle ,请用 gradle wrapper 。
如果有的选择,请选择 gradle 。
如果没得选择,也建议多看看 maven 和 gradle 官网文档。

拥抱新技术是正道。建议能用 gradle 还是用 gradle 。能很方便的做出 maven 很难或者根本做不到的功能。
yichengxian
63 天前
电脑不够好,我用 maven
Ericcccccccc
63 天前
主要是看你团队用了什么
retanoj
63 天前
我本人还是很讨厌 OP 发帖后一句话也不说的情况
(不知道这条 OP 看不看得到
Kamiyu0087
63 天前
我喜欢 gradle
不喜欢看 xml
Morii
63 天前
maven 有一种美
zhady009
63 天前
用 Maven 构建复杂点或者想做方便点的功能就避不了写插件,而且写 DSL 比 xml 舒服多了

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

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

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

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

© 2021 V2EX