構建工具的作用:依賴管理;測試、打包、發(fā)布;機器能干的活,絕不自己動手。
主流構建工具:
(1)Ant:編譯、測試、打包;
(2)Maven:依賴管理、發(fā)布;
(3)Gradle:Groovy,具有更高的靈活性和可擴展性。
Gradle一個項目自動化構建工具
xml過于臃腫,使用groovy的擴展性更好些,能更好地管理“構建腳本”
一個開源的項目自動化構建工具,建立在Apache Ant和Apache Maven概念的基礎之上,并引入了基于Groovy的特定領域語言(DSL),而不再是使用XML形式管理構建腳本
Q:為什么需要構建工具?
A:如果沒有構建工具:依賴,測試,打包,上傳
1. 一個各個去找包,放在lib里,少則幾十,多則成百上千,難以管理,出現(xiàn)版本沖突會很麻煩
2. 測試的時候執(zhí)行一個一個運行類中的main方法
3. 手動達成war包丟到服務器,還要把依賴的包上傳到服務器中。。。
準備 使用gradle及第一個項目;基本原理 構建腳本介紹 依賴管理 ;深入實戰(zhàn) 多項目構建 測試 發(fā)布
安裝Gradle: https://gradle.org
配置環(huán)境變量:GRADLE_HOME
添加到path:;%GRADLE_HOME%bin;
驗證是否安裝成功:gradle -v
Groovy與JAVA比較:1.Groovy完全兼容Java語法。2.分號是可選的。3.類、方法默認為public。4.編譯器會自動為屬性生成get/set方法5.屬性可以用點來獲取 用最后一個表達式的值作為返回值;==等于直接調用equals方法,弱類型,括號可選,閉包
groovy 是用于java 虛擬機的一種敏捷的動態(tài)語言,是一種成熟的面向對象編程語言,既可以用于面向對象編程,又可以用作純粹的腳本語言;
使用該種語言不必編寫過多的代碼,同時又具有閉包和動態(tài)語言中的其他特性;
gradle 弱類型的語言
沒有主函數(shù),可以在任意地方寫程序
自定義類型 dev
輸出函數(shù)括號可選,一般建議帶括號,便于識別
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中的一個方法(根據(jù)groovy語言特性,括號可以省略)2.version是project中的一個屬性變量3.repositories是一個方法,mavenCentral()是一個閉包,整體是一個調用閉包的方法4.同三
多個計劃首選