Maven和Gradle的比较

很久之前就用过maven了,各种版本兼容性问题多多。
后来Gradle出现了,很是清新,只是出来的时间比较短,问题也不少,现在成熟了很多。

先说结论

除了墙的问题外,Gradle要比Maven好用,Maven目前有较大的存量市场。

下面是官方的文章部分翻译

灵活性(flexibility)

google 选择 Gradle 作为 Android 的官方构建工具,因为 Gradle 的构建模式易于扩展
Maven 的构建模式比较僵硬,在自定义方面比较繁琐,有时甚至无法做到。

性能(performance)

Gradle有三个主要的特性使编译时间比Maven要短

  • 增量编译
  • 编译缓存:重复使用输出结果
  • Gradle Daemon:守护进程保证构建信息在内存中时新的

用户体验(user experience)

  • IDE方面:持续改进,支持Kotlin-based DSL
  • CLI方面:提供完善的支持
  • 交互式的Web UI调试,优化构建系统

依赖管理(dependency management)

Maven只能通过版本来覆盖依赖
Gradle提供了自定义的起来选择和替换规则,可以声明一次,在整个项目中有效