執行任何 Gradle 建置的建議方式是使用 Gradle Wrapper。

gradle basic 2

Wrapper 腳本會調用宣告的 Gradle 版本,如有必要,會預先下載。

wrapper workflow

Wrapper 以 gradlewgradlew.bat 檔案的形式提供。

Wrapper 提供以下優點

  • 將專案標準化為給定的 Gradle 版本。

  • 為不同的使用者配置相同的 Gradle 版本。

  • 為不同的執行環境(IDE、CI 伺服器…)配置 Gradle 版本。

使用 Gradle Wrapper

始終建議使用 Wrapper 執行建置,以確保建置的可靠、受控和標準化執行。

根據作業系統,您執行 gradlewgradlew.bat 而不是 gradle 命令。

典型的 Gradle 調用

$ gradle build

若要在 Linux 或 OSX 機器上執行 Wrapper

$ ./gradlew build

若要在 Windows PowerShell 上執行 Wrapper

$ .\gradlew.bat build

命令在 Wrapper 所在的相同目錄中執行。如果您想在不同的目錄中執行命令,則必須提供 Wrapper 的相對路徑

$ ../gradlew build

以下主控台輸出示範在 Windows 機器上,於命令提示字元 (cmd) 中,針對 Java 專案使用 Wrapper

$ gradlew.bat build

Downloading https://services.gradle.org/distributions/gradle-5.0-all.zip
.....................................................................................
Unzipping C:\Documents and Settings\Claudia\.gradle\wrapper\dists\gradle-5.0-all\ac27o8rbd0ic8ih41or9l32mv\gradle-5.0-all.zip to C:\Documents and Settings\Claudia\.gradle\wrapper\dists\gradle-5.0-al\ac27o8rbd0ic8ih41or9l32mv
Set executable permissions for: C:\Documents and Settings\Claudia\.gradle\wrapper\dists\gradle-5.0-all\ac27o8rbd0ic8ih41or9l32mv\gradle-5.0\bin\gradle

BUILD SUCCESSFUL in 12s
1 actionable task: 1 executed

了解 Wrapper 檔案

以下檔案是 Gradle Wrapper 的一部分

.
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar  (1)
│       └── gradle-wrapper.properties   (2)
├── gradlew (3)
└── gradlew.bat (4)
1 gradle-wrapper.jar:這是一個小的 JAR 檔案,其中包含 Gradle Wrapper 程式碼。它負責下載和安裝專案的正確 Gradle 版本(如果尚未安裝)。
2 gradle-wrapper.properties:此檔案包含 Gradle Wrapper 的配置屬性,例如發行版本 URL(從何處下載 Gradle)和發行版本類型(ZIP 或 TARBALL)。
3 gradlew:這是一個 shell 腳本(基於 Unix 的系統),充當 gradle-wrapper.jar 的 Wrapper。它用於在基於 Unix 的系統上執行 Gradle 任務,而無需手動安裝 Gradle。
4 gradlew.bat:這是一個批次腳本 (Windows),其用途與 gradlew 相同,但在 Windows 系統上使用。
您永遠不應變更這些檔案。

如果您想檢視或更新專案的 Gradle 版本,請使用命令列。請勿手動編輯 Wrapper 檔案

$ ./gradlew --version
$ ./gradlew wrapper --gradle-version 7.2
$ gradlew.bat --version
$ gradlew.bat wrapper --gradle-version 7.2

請參閱 Gradle Wrapper 參考 以了解更多資訊。

下一步: 了解 Gradle CLI >>