日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

摇篮配置

發布時間:2023/12/3 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 摇篮配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在這篇文章中,我們將介紹有關Gradle配置的綜合文章。

1.技術

Gradle是用于自動任務管理的開源構建工具。 它基于Apache Ant,Apache Maven的概念。 Gradle是使用Groovy語言開發的。 Gradle是使用基于Groovy的領域特定語言(DSL)開發的。 Gradle構建以Apache Maven的形式包含Groovy語言的任務,而Apache Ant構建文件為XML格式。

Gradle使用有向無環圖(DAG)確定執行任務的順序。 Gradle是為多項目構建而設計的,這意味著一個項目將有許多子項目,并且可以增長到很多子項目。 Gradle的獨特功能是通過智能確定構建樹的哪些部分被修改,哪些未被修改,來支持增量構建。 如果樹中的某些部分未修改,則將通過顯示最新狀態來跳過它,而其他部分將被重新執行,這將減少項目的構建時間。

2. Java項目結構

與Maven目錄結構類似,Gradle的項目結構還將包含src / main / java和src / main / resources用于Java類和類路徑資源,src / test / java和src / test / resources將包含測試類和相應地測試資源。

3.搖籃配置

Gradle是指定依賴項的基本概念。 使用配置,我們可以指定依賴關系,這些依賴關系可以在本地緩存或Maven Central存儲庫或在Gradle構建文件中配置的任何存儲庫中。

通過將Maven構建文件(pom.xml)和ant構建文件(build.xml)導入Gradle構建文件(build.gradle),還支持Gradle。

默認情況下,Gradle支持以下配置:

實作

實施配置應視為默認配置。 我們使用它來聲明我們不想暴露給使用者的編譯時的依賴項。 引入此配置是為了替換已棄用的編譯配置,以避免污染使用者的編譯時,而實際上我們不想暴露這些依賴。

a)Gradle將依賴項添加到編譯類路徑中,并將依賴項打包到生成輸出中。 但是,當您的模塊配置實現依賴項時,它會讓Gradle知道您不希望該模塊在編譯時泄漏對其他模塊的依賴項。 即,該依賴關系僅在運行時可用于其他模塊。

b)使用此依賴項配置而不是API或編譯(不建議使用)可以顯著縮短構建時間,因為它減少了構建系統需要重新編譯的模塊數量。 例如,如果實現依賴項更改其API,則Gradle僅重新編譯該依賴關系和直接依賴于該依賴關系的模塊。 大多數應用程序和測試模塊應使用此配置。

API

我們使用API??配置確實聲明了屬于我們API的依賴項,即,對于我們明確希望公開給我們的使用者的依賴項。 這是唯一將依賴項暴露給使用者的編譯時的標準配置。

a)Gradle將依賴項添加到編譯類路徑并生成輸出。 當模塊包含API依賴項時,它會讓Gradle知道該模塊希望將該依賴項可傳遞地導出到其他模塊,以便它們在運行時和編譯時都可用。

b)此配置的行為就像編譯一樣,但是您應謹慎使用它,并且僅應將需要的依賴項可傳遞地導出到其他上游使用者。 這是因為,如果API依賴關系更改了其外部API,則Gradle會在編譯時重新編譯所有可以訪問該依賴關系的模塊。 因此,擁有大量的API依賴關系會顯著增加構建時間。 除非您希望將依賴項的API公開給單獨的模塊,否則庫模塊應該使用實現依賴項。

僅編譯

使用compileOnly配置,可以聲明僅在編譯時才可用的依賴項,而在運行時不可用。 例如Project,Lombok是庫,它在編譯時修改字節碼,并通過使用注釋將更多方法添加到類中。 一旦生成了更新的字節碼,就不需要在類路徑中顯示字節碼,因為這些類型的庫將使用此配置。

僅運行時

Gradle僅將依賴項添加到構建輸出中,以在運行時使用。 也就是說,它不會添加到編譯類路徑中。 例如,數據庫驅動程序,我們曾在配置中指定驅動程序的類名,但并不需要在編譯時顯示,它僅在運行時有用。

注釋處理器

要在作為注釋處理器的庫上添加依賴項,必須使用注釋處理器配置將其添加到注釋處理器類路徑中。 這是因為使用此配置可??以通過將編譯類路徑與注釋處理器類路徑分開來提高構建性能。 如果Gradle在編譯類路徑上找到注釋處理器,則會停用編譯回避,這會對構建時間產生負面影響(5.0或更高版本,在編譯類路徑上找到忽略注釋處理器)。

測試實施

與實現配置類似,測試實現配置用于指定在測試的編譯和運行期間可用的依賴項。 例如,僅在編譯或執行測試時才需要Junit和Mocking庫。

testCompileOnly

與編譯類似,僅依賴項僅在測試類編譯時可用,而在測試運行時不可用。

testRuntimeOnly

類似于runtimeOnly,這些依賴項在執行測試時可用,但在測試編譯時不可用。

以上都是默認情況下Gradle提供的配置,我們可以使用自定義配置,在自定義任務中指定這些自定義配置。 Gradle還支持配置中的繼承。 我們可以使用來自配置屬性的擴展來指定基本配置。

configurations {testCompileOnly.extendsFrom compileOnly }

所有完整的配置依賴項都將被復制到testCompileOnly Configuration,這將刪除Gradle構建文件中的重復規范。

4. Gradle配置–結論

在當前博客中,我們了解了Gradle構建工具,并增加了Gradle相對于Maven,Ant構建工具的優勢。 我們詳細研究了Gradle配置,在其中如何指定每個配置級別的依賴項。

在本文中,我將描述您需要工程師利用Gradle注意Java Web應用程序的所有內容 。 我已經完成了無數可以想到的Gradle巨大的Java冒險。 它提供快速的監督和運輸。 利用Gradle輕松安排您的事業。

翻譯自: https://www.javacodegeeks.com/gradle-configuration.html

總結

以上是生活随笔為你收集整理的摇篮配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。