在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 物聯(lián)網(wǎng)/ 為什么選擇Gradle
依賴管理實戰(zhàn)
配置遠(yuǎn)程倉庫
安裝Gradle
簡介
項目自動化簡介
配置子項目
Gradle強大的特性
自動化測試
簡介
掌握構(gòu)建生命周期
使用命令行操作
構(gòu)建Java項目
管理任務(wù)
構(gòu)建工具
連續(xù)傳遞的特性
用Gradle開發(fā)Web項目
聲明依賴
構(gòu)建塊
簡介
測試Java應(yīng)用
java構(gòu)建工具
為什么選擇Gradle
拆分項目文件
單元測試
多項目打包
Gradle 起步
介紹這個Gradle項目
簡介
自定義腳本
Gradle包裝器
簡要概述依賴管理
項目模塊化

為什么選擇Gradle

如果你曾經(jīng)使用過構(gòu)建工具,你可能會對遇到的問題感到很沮喪,構(gòu)建工具不是應(yīng)該自動幫你完成項目的構(gòu)建嗎?你不得不向性能、擴展性等妥協(xié)。

比如你在構(gòu)建一個項目的發(fā)布版本時,你要把一個文件拷貝到指定的位置,你在項目的元數(shù)據(jù)那里添加了版本的描述,如果版本號匹配一個特定的數(shù)字時,就把文件從A拷貝到B處。如果你依賴XML來構(gòu)建,你要實現(xiàn)這個任務(wù)就像噩夢一樣,你只能通過非標(biāo)準(zhǔn)的機制來添加一些腳本到構(gòu)建中,結(jié)果就是把XML和腳本混在一起,隨著時間的推移,你會添加越來越多的自定義的代碼,結(jié)果就是項目越來越復(fù)雜很難維護。為什么不考慮用表達式的語言來定義你的構(gòu)建邏輯呢?

另外一個例子,Maven跟隨約定優(yōu)于配置的規(guī)范,引入了標(biāo)準(zhǔn)化的項目布局和構(gòu)建生命周期,給很多項目確保一個統(tǒng)一的結(jié)構(gòu)這是個不錯的方法。然而你手上的項目剛好和傳統(tǒng)的約定不一樣。Maven的一個嚴(yán)格的約定就是每個項目都要生成一個artifact,比如jar文件,但是你怎么從同一個源代碼結(jié)構(gòu)中創(chuàng)建兩個不同的JAR文件,因此你不得不分開創(chuàng)建兩個項目。

Java構(gòu)建工具的發(fā)展

最早出現(xiàn)的是Ant,Ant里的每一個任務(wù)(target)都可以互相依賴,Ant的最大缺點就是依賴的外部庫也要添加到版本控制系統(tǒng)中,因為Ant沒有一個機制來把這些jar文件放在一個中央庫里面,結(jié)果就是不斷的拷貝和粘貼代碼。

隨后Maven在2004年出現(xiàn)了,Maven引入了標(biāo)準(zhǔn)的項目和路徑結(jié)構(gòu),還有依賴管理,不幸的是自定義的邏輯很難實現(xiàn),唯一的方法就是引入插件。

隨后Ant通過Apache Ivy引入依賴管理來跟上Maven的腳步,Ant和Ivy集成實現(xiàn)了聲明式的依賴,比如項目的編譯和打包過程

Gradle的出現(xiàn)滿足了很多現(xiàn)在構(gòu)建工具的需求,Gradle提供了一個DSL(領(lǐng)域特定語言),一個約定優(yōu)于配置的方法,還有更強大的依賴管理,Gradle使得我們可以拋棄XML的繁瑣配置,引入動態(tài)語言Groovy來定義你的構(gòu)建邏輯。


為什么要選擇Gradle

假如你是一個開發(fā)者,項目自動構(gòu)建是你每天工作的一部分,難道你就不想讓你的構(gòu)建代碼和你寫的源代碼一樣可以擴展、測試和維護?Gradle的構(gòu)建腳本是聲明式的、可讀的,可以清晰的表達意圖。使用Groovy代替XML來寫代碼大大減少了構(gòu)建代碼的大小。更重要的是,Gradle集成了其他構(gòu)建工具,比如Ant和Maven,使得原來的項目很容易遷徙到Gradle。