構建工具的作用:依賴管理;測試、打包、發佈;機器能幹的活,絕不自己動手。
主流構建工具:
(1)Ant:編譯、測試、打包;
(2)Maven:依賴管理、發佈;
(3)Gradle:Groovy,具有更高的靈活性和可擴展性。
Gradle一個項目自動化構建工具
xml過於臃腫,使用groovy的擴展性更好些,能更好地管理“構建腳本”
一個開源的項目自動化構建工具,建立在Apache Ant和Apache Maven概念的基礎之上,並引入了基於Groovy的特定領域語言(DSL),而不再是使用XML形式管理構建腳本
Q:爲什麼需要構建工具?
A:如果沒有構建工具:依賴,測試,打包,上傳
1. 一個各個去找包,放在lib裏,少則幾十,多則成百上千,難以管理,出現版本衝突會很麻煩
2. 測試的時候執行一個一個運行類中的main方法
3. 手動達成war包丟到服務器,還要把依賴的包上傳到服務器中。。。
準備 使用gradle及第一個項目;基本原理 構建腳本介紹 依賴管理 ;深入實戰 多項目構建 測試 發佈
安裝Gradle: https://gradle.org
配置環境變量:GRADLE_HOME
添加到path:;%GRADLE_HOME%\bin;
驗證是否安裝成功:gradle -v
Groovy與Java比較:1.Groovy完全兼容Java語法。2.分號是可選的。3.類、方法默認爲public。4.編譯器會自動爲屬性生成get/set方法5.屬性可以用點來獲取 用最後一個表達式的值作爲返回值;==等於直接調用equals方法,弱類型,括號可選,閉包
groovy 是用於java 虛擬機的一種敏捷的動態語言,是一種成熟的面向對象編程語言,既可以用於面向對象編程,又可以用作純粹的腳本語言;
使用該種語言不必編寫過多的代碼,同時又具有閉包和動態語言中的其他特性;
gradle 弱類型的語言
沒有主函數,可以在任意地方寫程序
自定義類型 dev
輸出函數括號可選,一般建議帶括號,便於識別
arrayList 寫法 dev buildTools={"ant","maven"} 添加元素 buildtools << "gradle"
hashMap 寫法 dev buildTools={"ant":2009,"maven":2010} 添加元素 buildTools="gradl
向集合list中追加元素:
def mylist=['ant','maven']
mylist << 'gradle'
groovy裏面的字符串:
單引號:常量字符串
雙引號:可以加字符串變量
三引號:可以使字符串換行 例如 groovy字符串的特性1.'a':只是字符串2."a":裏面可以連接變量$(b);3.'''a''':裏面的字符串可以換行
前提:構建腳本中默認都是有一個project實例的;1.apply是project中的一個方法(根據groovy語言特性,括號可以省略)2.version是project中的一個屬性變量3.repositories是一個方法,mavenCentral()是一個閉包,整體是一個調用閉包的方法4.同三