Ant和Maven共享在Java市場上相當大的成功。ANT是在2000年發布了第一個版本的工具,它是基于程序編程思想的發展。 后來,人們在 Apache-Ivy的幫助下,網絡接受插件和依賴管理的能力有所提升。但主要缺點是使用XML作為一種格式來寫構建腳本。XML是分層的,不利于程序的編程,而且當XML文件變大以后變得難以管理。
Maven在2004年推出的,它比ANT有一個很大的改進。它改變了結構并且繼續使用XML編寫生成規范。Maven的依賴約定和能夠通過網絡下載依賴關系。Maven的主要好處是它的生命周期。雖然接連的多個項目生命周期相同,這是以靈活性為代價的。 Maven也面臨著依賴管理的一些問題。它不會在同一庫版本之間處理好矛盾,復雜的定制構建腳本實際上Maven比ANT更難寫。
最后,Gradle于2012年發布,帶來了一些更高效的特點。
Gradle是一個基于Apache Ant和Apache Maven概念的項目自動化建構工具。它使用一種基于Groovy的特定領域語言(DSL)來聲明項目設置,拋棄了基于XML的各種繁瑣配置。 面向Java應用為主。當前其支持的語言限于Java、Groovy和Scala,計劃未來將支持更多的語言。
下面是一些Gradle的功能
- 按約定聲明構建和建設;
- 強大的支持多工程的構建;
- 強大的依賴管理(基于Apache Ivy),提供最大的便利去構建工程;
- 全力支持已有的 Maven 或者Ivy倉庫基礎建設;
- 支持傳遞性依賴管理,在不需要遠程倉庫和pom.xml和ivy配置文件的前提下;
- 基于groovy腳本構建,其build腳本使用groovy語言編寫;
- 具有廣泛的領域模型支持構建;
- 深度 API;
- 易遷移;
- 自由和開放源碼,Gradle是一個開源項目,基于 ASL 許可。
為什么使用Groovy?
完整的Gradle API是使用Groovy語言設計的。這是基于XML內部 DSL 的優點。Gradle是其核心的通用構建工具; 它的主要焦點是Java項目。在這些項目中,團隊成員要熟悉Java,這是為了更好的構建透明,給所有團隊成員的項目。
類似于 Python,Groovy或Ruby語言是最好的構建框架。為什么Groovy被選中?這是因為它為使用Java的人提供了迄今為止最大的透明度。Groovy的基本語法與Java是一樣的。
易百教程移動端:請掃描本頁面底部(右側)二維碼并關注微信公眾號,回復:"教程" 選擇相關教程閱讀或直接訪問:http://m.yiibai.com 。
加QQ群啦,易百教程官方技術學習群
注意:建議每個人選自己的技術方向加群,同一個QQ最多限加 3 個群。