構(gòu)建工具的作用:依賴管理;測(cè)試、打包、發(fā)布;機(jī)器能干的活,絕不自己動(dòng)手。
主流構(gòu)建工具:
(1)Ant:編譯、測(cè)試、打包;
(2)Maven:依賴管理、發(fā)布;
(3)Gradle:Groovy,具有更高的靈活性和可擴(kuò)展性。
Gradle一個(gè)項(xiàng)目自動(dòng)化構(gòu)建工具
xml過(guò)于臃腫,使用groovy的擴(kuò)展性更好些,能更好地管理“構(gòu)建腳本”
一個(gè)開(kāi)源的項(xiàng)目自動(dòng)化構(gòu)建工具,建立在Apache Ant和Apache Maven概念的基礎(chǔ)之上,并引入了基于Groovy的特定領(lǐng)域語(yǔ)言(DSL),而不再是使用XML形式管理構(gòu)建腳本
Q:為什么需要構(gòu)建工具?
A:如果沒(méi)有構(gòu)建工具:依賴,測(cè)試,打包,上傳
1. 一個(gè)各個(gè)去找包,放在lib里,少則幾十,多則成百上千,難以管理,出現(xiàn)版本沖突會(huì)很麻煩
2. 測(cè)試的時(shí)候執(zhí)行一個(gè)一個(gè)運(yùn)行類(lèi)中的main方法
3. 手動(dòng)達(dá)成war包丟到服務(wù)器,還要把依賴的包上傳到服務(wù)器中。。。
準(zhǔn)備 使用gradle及第一個(gè)項(xiàng)目;基本原理 構(gòu)建腳本介紹 依賴管理 ;深入實(shí)戰(zhàn) 多項(xiàng)目構(gòu)建 測(cè)試 發(fā)布
安裝Gradle: https://gradle.org
配置環(huán)境變量:GRADLE_HOME
添加到path:;%GRADLE_HOME%bin;
驗(yàn)證是否安裝成功:gradle -v
Groovy與JAVA比較:1.Groovy完全兼容Java語(yǔ)法。2.分號(hào)是可選的。3.類(lèi)、方法默認(rèn)為public。4.編譯器會(huì)自動(dòng)為屬性生成get/set方法5.屬性可以用點(diǎn)來(lái)獲取 用最后一個(gè)表達(dá)式的值作為返回值;==等于直接調(diào)用equals方法,弱類(lèi)型,括號(hào)可選,閉包
groovy 是用于java 虛擬機(jī)的一種敏捷的動(dòng)態(tài)語(yǔ)言,是一種成熟的面向?qū)ο缶幊陶Z(yǔ)言,既可以用于面向?qū)ο缶幊蹋挚梢杂米骷兇獾哪_本語(yǔ)言;
使用該種語(yǔ)言不必編寫(xiě)過(guò)多的代碼,同時(shí)又具有閉包和動(dòng)態(tài)語(yǔ)言中的其他特性;
gradle 弱類(lèi)型的語(yǔ)言
沒(méi)有主函數(shù),可以在任意地方寫(xiě)程序
自定義類(lèi)型 dev
輸出函數(shù)括號(hào)可選,一般建議帶括號(hào),便于識(shí)別
arrayList 寫(xiě)法 dev buildTools={"ant","maven"} 添加元素 buildtools << "gradle"
hashMap 寫(xiě)法 dev buildTools={"ant":2009,"maven":2010} 添加元素 buildTools="gradl
向集合list中追加元素:
def mylist=['ant','maven']
mylist << 'gradle'
groovy里面的字符串:
單引號(hào):常量字符串
雙引號(hào):可以加字符串變量
三引號(hào):可以使字符串換行 例如 groovy字符串的特性1.'a':只是字符串2."a":里面可以連接變量$(b);3.'''a''':里面的字符串可以換行
前提:構(gòu)建腳本中默認(rèn)都是有一個(gè)project實(shí)例的;1.Apply是project中的一個(gè)方法(根據(jù)groovy語(yǔ)言特性,括號(hào)可以省略)2.version是project中的一個(gè)屬性變量3.repositories是一個(gè)方法,mavenCentral()是一個(gè)閉包,整體是一個(gè)調(diào)用閉包的方法4.同三

多個(gè)計(jì)劃首選