1. 程式人生 > >Gradle Wrapper初識

Gradle Wrapper初識

Gradle Wrapper存在的意義

gradle wrapper存放在每個專案中的,這樣如果有開發者下載專案,然後想要執行構建任務,用wrapper方式,gradle wrapper會自動檢測本地是否有指定版本的gradle,如果沒有它會自動從網路上下載gradle。

其實就相當於對原生gradle命令包裝了一層,相比於傳統的maven,這種wrapper模式顯得更智慧靈活,其實它的實現就是多了一些判斷,使得環境配置更加自動化,而不是直接丟擲沒有某某命令的硬生生的提示。當然我相信maven也可以增加一個maven wrapper。

Gradle Wrapper配置離線

但是針對我們天朝使用者來說,如果從網路上下載,速度很慢,除非採用網路代理。但是我們已經通過手動下載了Gradle,如何告知wrapper使用我們本地的Gradle呢?

在gradle-wrapper.properties檔案中如下配置作修改即可:

#distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip
distributionUrl=file:///d:/DEVELOP/Gradle/gradle-4.8.1-all.zip

這樣就可以使gradle wrapper以離線的模式使用我們已經下載好的gradle發行版,而不必被牆,等待老長時間了

Gradle Wrapper的生成

使用gradle wrapper命令會建立一組Wrapper相關的檔案以支援wrapper的特性。
Gradle官方建議我們在所有Gradle專案中都建立Wrapper檔案,方便沒有安裝Gradle的使用者使用。

建立完畢之後,會發現我們的專案中多瞭如下一些檔案:

gradlew (Unix Shell 指令碼)
gradlew.bat (Windows批處理檔案)
gradle/wrapper/gradle-wrapper.jar (Wrapper JAR檔案)
gradle/wrapper/gradle-wrapper.properties (Wrapper屬性檔案)

然後,我們就可以像使用gradle命令一樣使用gradlew了。

在這個過程中Gradle Wrapper會自動為我們下載相應的Gradle版本。
預設情況下下載位置是$USER_HOME/.gradle/wrapper/dists。

IDEA中使用Gradle建議配置

這個配置主要是:
use auto-import
這個選項可以讓構建指令碼有所變動時,idea自動做相關的匯入jar包等操作,實現比較自動化
Use default gradle wrapper
這個選項毫無疑問是讓idea使用wrapper方式做gradle相關的任務執行

這裡寫圖片描述

Delegate IDE build/run actions to gradle
這個選項可以使IDEA的相關構建命令使用gradle來做,因為gradle是專門來做構建的,這樣更專業,避免兩種方式混雜,引起一些不必要的麻煩。

這裡寫圖片描述