軟體專案很少獨立作業。專案通常仰賴函式庫中的可重複使用功能。有些專案會將不相關的功能整理到模組化系統的不同部分。
相依性管理是一種自動化技術,用於宣告、解析和使用專案所需的相依性。
如需相依性管理術語的概觀,請參閱相依性管理術語。 |
Gradle 中的相依性管理

圖 1. 相依性管理概觀
Gradle 內建支援相依性管理。
讓我們透過一個理論上常見的專案來探討主要概念
-
這個專案會建立 Java 原始碼。
-
有些 Java 原始檔會從Google Guava函式庫匯入類別。
-
這個專案使用JUnit進行測試。
Gradle 建置檔可能如下所示
範例 1. 包含相依性的 Gradle 建置檔
build.gradle.kts
plugins {
`java-library`
}
repositories { (1)
google() (2)
mavenCentral()
}
dependencies { (3)
implementation("com.google.guava:guava:32.1.2-jre") (4)
testImplementation("junit:junit:4.13.2")
}
build.gradle
plugins {
id 'java-library'
}
repositories { (1)
google() (2)
mavenCentral()
}
dependencies { (3)
implementation 'com.google.guava:guava:32.1.2-jre' (4)
testImplementation 'junit:junit:4.13.2'
}
1 | 在這裡我們定義專案的存放庫。 |
2 | 在這裡我們宣告相依性位置的遠端和本機存放庫。
您可以宣告存放庫,告訴 Gradle 從何處擷取本機或遠端的相依性。 |
3 | 在這裡我們定義專案使用的相依性。 |
4 | 我們在此宣告特定依賴項名稱和範圍內的版本。 |
儲存庫以多種格式提供依賴項。如需有關 Gradle 支援的格式資訊,請參閱依賴項類型。
元資料描述依賴項。元資料的一些範例包括
-
在儲存庫中尋找依賴項的座標
-
建立依賴項的專案資訊
-
依賴項的作者
-
依賴項正常運作所需的其它依賴項,稱為傳遞式依賴項
宣告數百個依賴項的專案可能難以除錯。Gradle 提供工具來視覺化和分析專案的依賴項圖表(即依賴項樹狀結構)。您可以使用Build Scan™或內建任務。

圖 2. Build Scan 依賴項報告