如今,我們對構(gòu)建工具的要求越來越高,我們需要一種舒適的方式來運行測試、部署應(yīng)用程序、生成文檔和許多其他需求,這些需求太多,無法在這里一一列舉。因此,構(gòu)建工具也在不斷發(fā)展。
Java生態(tài)系統(tǒng)現(xiàn)在有Maven、Gradle、Ant和其他一些(比如Scala的簡單構(gòu)建工具——SBT)是為了解決編程中最古老的問題——構(gòu)建自動化而誕生的。通過java培訓(xùn),你可以學(xué)習(xí)更多java框架,以提高java技能。
我們將討論Java最常用的三種構(gòu)建工具:Maven、Gradle和Ant。我們將對它們進(jìn)行比較,并就一種工具領(lǐng)先或落后于其他工具的情況提供一些建議。
1. Ant
Ant是第一個所謂的“現(xiàn)代構(gòu)建工具”,用于自動化構(gòu)建過程。它是用Java實現(xiàn)的,主要用于Java項目。Ant的第一個公開發(fā)行版是在2000年,它很快成為Java項目最流行的構(gòu)建工具,這要歸功于它的平臺獨立性(如Java),設(shè)置門檻低,并提供可重復(fù)的構(gòu)建。后來,它還獲得了接受插件的能力。
2. Maven
Maven于2004年首次發(fā)布,旨在改進(jìn)開發(fā)人員在使用Ant和其他構(gòu)建工具時遇到的一些問題。Maven最大的成就被認(rèn)為是引入了項目結(jié)構(gòu)約定、依賴關(guān)系管理和一個中心工件庫Maven
central。想要學(xué)習(xí)java更多知識和技能,可以考慮參加java培訓(xùn),有經(jīng)驗豐富的專業(yè)講師指導(dǎo)教學(xué),有緊跟市場需求的實時課程,可以讓你快速掌握這門技術(shù),節(jié)約時間,少走彎路。
Maven仍然使用XML來編寫構(gòu)建文件(pom.XML),但是結(jié)構(gòu)非常不同,因為它變成了聲明性的?,F(xiàn)在,開發(fā)人員不必寫下導(dǎo)致某些目標(biāo)的所有命令,而是描述項目的結(jié)構(gòu)(如果它與約定不同的話),Maven本身提供了程序員可以調(diào)用的可用目標(biāo)。另外,Maven能夠通過網(wǎng)絡(luò)下載依賴項。
3. Gradle
Gradle是三個構(gòu)建工具中最年輕的一個,它的開發(fā)人員試圖將Ant的能力和靈活性與Maven的依賴關(guān)系管理和約定結(jié)合起來,以創(chuàng)建漂亮而閃亮的構(gòu)建工具。經(jīng)過幾年的開發(fā),GradleV1.0于2012年發(fā)布,并迅速開始流行起來。它發(fā)展得非???,已經(jīng)被一些大企業(yè)采用——例如,Gradle被選為谷歌Android操作系統(tǒng)的構(gòu)建工具。
一個有趣的觀點是,在Gradle中,XML不再被使用——相反,開發(fā)人員擁有一種基于JVM語言Groovy的領(lǐng)域特定語言(DSL),Groovy的發(fā)明是為了讓開發(fā)人員擺脫XML的冗長,編寫更簡單、更清晰的語句。這在用戶中引發(fā)了一場爭論,即標(biāo)準(zhǔn)的、易于理解的(但冗長的)XML樣式比DSL好還是壞。在培訓(xùn)課程中,也有關(guān)于構(gòu)建工具的學(xué)習(xí),理論知識+實踐項目,雙管齊下,學(xué)以致用,讓你深入淺出地學(xué)習(xí)java。