1. 程式人生 > >Introduction of Build Tool/Maven, Gradle

Introduction of Build Tool/Maven, Gradle

本地 打包 寫法 構建工具 就是 而不是 依賴 形式 常用

什麽是build tool:

build tool是可以自動由源代碼創建可執行的應用程序的程序。 Building 包括編譯、鏈接和打包代碼成一個可用的或可執行形式。 在小型項目,開發人員常常會手動調用構建過程。在更大的項目中這是不實用的,那樣會很難跟蹤需要構建什麽,在什麽順序和依賴關系構建的過程。 使用自動化工具允許構建過程更一致。

為什麽使用build tool:

日常開發中我們當然不會每次都在終端中使用命令一個個編譯執行文件,我們只需要在IDE中點擊運行按鈕,IDE就會幫助我們執行構建項目的全過程,但是使用IDE構建有一個很嚴重的缺陷就是遷移成本問題,有可能兩個團隊使用的IDE不同,導致相互項目交接時成本極高,還有就是一個項目在本地開發環境和集成測試環境都需要構建項目,很顯然IDE不能幫我們解決這個問題。

MAVEN:

Maven是一個項目管理工具,它包含了一個項目對象模型 一組標準集合,一個項目生命周期一個依賴管理系統和用來運行定義在生命周期階段中插件目標(goal)的邏輯。 當你使用Maven的時候,你用一個明確定義的項目對象模型來描述你的項目,然後 Maven 可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。

maven能夠幫我們自動化構建過程,從清理、編譯、測試到生成報告,再到打包和部署,僅僅只需要輸入簡單的命令(如mvn clean install)。當然Maven不僅是構建工具,還是一個依賴管理工具和項目信息管理工具,況且Maven也是跨平臺的。

Gradle:

是一個基於Apache Ant和Apache Maven概念的項目自動化建構工具。它使用一種基於Groovy的特定領域語言來聲明項目設置,而不是傳統的XML, 它並不局限於一種平臺。

使用gradle的優勢:

自動處理包相依關系 、自動處理布署問題 、條件判斷寫法直覺。

過去 Java 開發者常用 Maven 和 Ant 等工具進行封裝布署的自動化,或是兩者兼用,不過這兩個包彼此有優缺點,如果頻繁改變相依包版本,使用 Ant 相當麻煩,如果瑣碎工作很多,Maven 功能不足,而且兩者都使用 XML 描述,相當不利於設計 if、switch 等判斷式,即使寫了可讀性也不佳,而 Gradle 改良了過去 Maven、Ant 帶給開發者的問題,至今也成為 Android Studio 內置的封裝布署工具。

Introduction of Build Tool/Maven, Gradle