有了Gradle之後你還會選Maven嗎?為什麼?

有了Gradle之後你還會選Maven嗎?為什麼?姜懟懟啊2018-11-19 10:45:40

Gradle的特點(原文http://codingdict。com/article/5556)

以下是Gradle提供的功能列表。

宣告式構建和按約定構建 - Gradle可以使用基於Groovy語言的單獨的特定於域的語言(DSL)。 Gradle提供了宣告式語言元素。這些元素還為Java,Groovy,OSGi,Web和Scala提供了逐個會議的支援。

基於依賴關係程式設計 的語言 - 宣告性語言位於通用任務圖之上,您可以在構建中充分利用它。

構建您的構建 - Gradle允許您將常用的設計原則應用於構建。 它給你一個完美的構建結構,這樣你就可以設計結構合理,易於維護,易於理解的構建。

Deep API - 使用此API,您可以監視和定製其配置和執行行為到其核心。

Gradle scale - Gradle可以輕鬆提高生產力,從簡單的單一專案構建到巨大的企業多專案構建。

多專案構建 - Gradle支援多專案構建和部分構建。 如果您構建一個子專案,Gradle將負責構建它所依賴的所有子專案。

管理構建的不同方式 - Gradle支援不同的策略來管理依賴關係。

第一個構建整合工具 - Gradle完全支援ANT任務,用於釋出和檢索依賴關係的Maven和lvy儲存庫基礎結構。 它還提供了一個用於將Maven pom。xml轉換為Gradle指令碼的轉換器。

易於遷移 - Gradle可以輕鬆適應您擁有的任何結構。 因此,您始終可以在您可以構建的同一分支中開發您的Gradle構建

Gradle Wrapper - Gradle Wrapper允許您在沒有安裝Gradle的機器上執行Gradle構建。 這對於持續整合伺服器很有用。

免費開源 - Gradle是一個開源專案,並且根據Apache軟體許可證(ASL)授權。

Groovy - Gradle的構建指令碼是用Groovy編寫的。 Gradle的整個設計都面向被用作語言,而不是一個僵化的框架。Groovy允許你用一些抽象來編寫你自己的指令碼。整個Gradle API都是用Groovy語言設計的。

Maven的特點(原文http://codingdict。com/article/5521)

簡單的專案設定遵循最佳實踐。

在所有專案中使用一致。

依賴管理包括自動更新。

一個龐大而不斷增長的圖書館庫。

可擴充套件,可以輕鬆編寫Java或指令碼語言的外掛。

無需額外配置即可輕鬆訪問新功能。

基於模型的構建 - Maven能夠將任意數量的專案構建到預定義的輸出型別中,例如jar,war和metadata。

專案資訊 的一致 網站 - 根據構建過程使用相同的元資料,maven能夠生成一個網站和一個包含完整文件的PDF。

釋出管理和釋出釋出 - 無需額外配置,maven將與您的原始碼管理系統(如CVS)整合並管理專案釋出。

向後相容性 - 您可以輕鬆地將專案的多個模組從舊版Maven移植到Maven 3中。 它也可以支援舊版本。

自動父級版本控制 - 無需在子模組中指定父級以進行維護。

並行構建 - 它分析專案依賴關係圖並使您能夠並行構建排程模組。 使用此功能,您可以實現20-50%的效能提升。

更好的錯誤和完整性報告 - Maven改進了錯誤報告,它為您提供了一個指向Maven wiki頁面的連結,您將在其中獲得錯誤的完整描述。