對(duì)于希望構(gòu)建自動(dòng)化工具具有靈活性和性能的 Java 開發(fā)人員來說,Gradle
是一個(gè)流行的選擇。在這篇文章中,我們概述了Gradle,它是如何工作的,為什么需要它?對(duì)Gradle感興趣的同學(xué),可以參加Java培訓(xùn)來獲得知識(shí)和技能,以便快速上崗。
什么是Gradle?
Gradle 是一種現(xiàn)代自動(dòng)化工具,用于項(xiàng)目構(gòu)建自動(dòng)化的軟件開發(fā)。
“自動(dòng)化工具” 究竟是什么意思?
好吧,這就是你可能正在想的——你點(diǎn)擊一個(gè)按鈕并根據(jù)你的自動(dòng)化操作接收結(jié)果。
話雖如此,讓我們從一般解釋跳到軟件開發(fā)領(lǐng)域,因?yàn)檫@是 Gradle 使用最多的地方。
現(xiàn)在你口袋里的任何應(yīng)用程序(我的意思是在你的智能手機(jī)中)都是自動(dòng)化的產(chǎn)物。 該應(yīng)用程序由許多源代碼文件組成,并使用許多庫。
組裝最終產(chǎn)品需要很多步驟,稱為應(yīng)用程序的 “構(gòu)建”。 構(gòu)建的輸出通常是經(jīng)過測(cè)試的應(yīng)用程序工件。 如果它通過測(cè)試,它將被運(yùn)送到你的智能手機(jī)。
你是否注意到每周都會(huì)在智能手機(jī)應(yīng)用程序中看到一項(xiàng)新功能?每次更新時(shí),你都會(huì)收到每個(gè)應(yīng)用程序的新版本。
事實(shí)上,在你收到更新之前,可能已經(jīng)完成了許多構(gòu)建。
那么,如果構(gòu)建過程很長(zhǎng),你怎么可能仍然如此快速地收到這些更新?答案——自動(dòng)化工具。 Gradle
允許你指定項(xiàng)目構(gòu)建(將源代碼放在一起,鏈接庫等),然后每次進(jìn)行更改時(shí),你只需 “點(diǎn)擊按鈕”,Gradle
就會(huì)自動(dòng)為你完成所有步驟。想學(xué)習(xí)java的同學(xué)不妨報(bào)個(gè)Java培訓(xùn)班,可以節(jié)省學(xué)習(xí)時(shí)間,提高學(xué)習(xí)效率,在短時(shí)間內(nèi)學(xué)有所成,還能找到一份不錯(cuò)的工作。
Gradle 經(jīng)常用于 JVM 應(yīng)用程序的開發(fā),使用 Java 或 Kotlin 等語言編寫。
它的直接競(jìng)爭(zhēng)對(duì)手是Maven和Ant。 雖然這些工具在很大程度上執(zhí)行相同的功能,但它們的執(zhí)行方式存在巨大差異。 你可以在此處查看 Gradle 和 Maven
之間的官方比較。
Gradle是如何構(gòu)建工作的?
Gradle 構(gòu)建配置存儲(chǔ)在名為 build.gradle 的文件中,該文件基于領(lǐng)域特定語言 (DSL)。
這是一種結(jié)合了聲明式和命令式結(jié)構(gòu)的專用腳本語言。 該配置文件位于項(xiàng)目的根文件夾中,定義了一個(gè)項(xiàng)目、其任務(wù)、依賴項(xiàng)以及其他與項(xiàng)目相關(guān)的項(xiàng)。 Gradle
支持多項(xiàng)目構(gòu)建,其中每個(gè)項(xiàng)目在項(xiàng)目根文件夾中都有自己的 build.gradle 文件。
“任務(wù)” 是一個(gè)原子工作單元,它描述了當(dāng)它被調(diào)用時(shí)應(yīng)該做什么。 一個(gè)構(gòu)建可以被描述為一組任務(wù)。
每個(gè)任務(wù)由動(dòng)作、輸入和輸出組成; 每個(gè)部分都是可選的。
要查看 Gradle 項(xiàng)目的所有可用任務(wù)的列表,你可以在命令行中執(zhí)行 “gradle
tasks”。在java培訓(xùn)中,培訓(xùn)課程不僅注重理論,更注重項(xiàng)目的實(shí)戰(zhàn)能力,能夠讓你快速適應(yīng)企業(yè)開發(fā)的進(jìn)度,成為企業(yè)所需要的java人才。 對(duì)于簡(jiǎn)單的 Java
項(xiàng)目,你可以從以下類別的預(yù)定義任務(wù)中進(jìn)行選擇:
構(gòu)建任務(wù)
構(gòu)建設(shè)置任務(wù)
分發(fā)任務(wù)
文檔任務(wù)
幫助任務(wù)
驗(yàn)證任務(wù)
其他任務(wù)
為什么需要 Gradle?
管理項(xiàng)目生命周期是一項(xiàng)可以完成的復(fù)雜任務(wù),但需要付出巨大的努力。
由于其復(fù)雜性,手動(dòng)完成這些任務(wù)時(shí)很容易出錯(cuò)。
以依賴管理為例。 你能想象每次更新時(shí)手動(dòng)下載和配置項(xiàng)目使用的庫嗎?
或者手動(dòng)執(zhí)行所有命令來編譯類,將它們移動(dòng)到正確的文件夾,或者手動(dòng)執(zhí)行測(cè)試呢?我可以繼續(xù)命名所有步驟,但我認(rèn)為你明白這不是這樣做的方法。
更有效的方法是使用 Gradle 之類的自動(dòng)化工具,它可以在需要時(shí)為你做任何事情。 如果你需要自動(dòng)化一些 Gradle
無法開箱即用的功能,你可以編寫一次自己的任務(wù)并依靠你的手動(dòng)工作。
Gradle
是一個(gè)非常有用的項(xiàng)目生命周期和構(gòu)建管理工具。與其問你是否應(yīng)該使用構(gòu)建自動(dòng)化工具,不如問該使用哪種工具。Gradle 已經(jīng)存在超過 13
年,并被許多開發(fā)團(tuán)隊(duì)廣泛采用。 雖然它比它的競(jìng)爭(zhēng)對(duì)手 Maven 年輕一點(diǎn),但 Gradle 具有相同的功能,并且在某些情況下優(yōu)于 Maven。如果想快速掌握
Gradle ,參加Java培訓(xùn)就是個(gè)不錯(cuò)的選擇,有明確清晰的學(xué)習(xí)路線和經(jīng)驗(yàn)豐富的專業(yè)講師面授指導(dǎo)教學(xué),讓學(xué)習(xí)更科學(xué),更有效。