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






