Gradle Wrapper
(Gradle
包裝器)是Gradle
的一個特性,能夠經過包裝器指定項目構建時使用的Gradle
版本。app
這一特性能夠確保同一個項目組的人員構建環境是一致的(maven
無此特性)maven
通常Gradle
項目初始化(執行gradle init
)後都會帶有Gradle Wrapper
。其關鍵結構在項目的根目錄下,以下所示(省略與Gradle Wrapper
無關的文件):gradle
├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat
在gradle/wrapper
目錄下就是Gradle Wrapper
了。其中ui
gradle-wrapper.jar
就是下載項目構建使用的Gradle
的下載器gradle-wrapper.properties
就是就是Gradle Wrapper
的配置文件了而gradlew
和gradlew.bat
則分別是UNIX
和Windows
環境下調用包裝器的腳本url
gradle-wrapper.properties
內部只有4
個配置項,以下所示操作系統
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists
distributionBase
指的是發佈(能夠類比maven
的package
)的根目錄,其中GRADLE_USER_HOME
是系統變量或者環境變量distributionPath
指的是發佈的相對地址(相對distributionBase
)distributionUrl
指的是下載Gradle
的地址zipStoreBase
指的是壓縮zip
包的根目錄zipStorePath
指的是壓縮zip
包的相對地址(相對zipStorePath
)在項目根目錄下直接運行gradlew build
或者gradlew.bat build
(根據操做系統自行選擇)就會自動下載項目須要使用的Gradle
(本地仍是須要安裝Gradle
哦)了code
可能會有人吐槽,只要改好配置文件以後執行gradlew build
或者gradlew.bat build
。可是Gradle
自己也提供了指令進行配置的更新和自動讓新配置生效,下面的演示是基於UNIX
系統,Winodos
系統請自行切換到gradlew.bat
。ip
Gradle Wrapper
使用的Gradle
版本(可升級別也可降級):gradlew wrapper --gradle-version 4.9
Gradle
的Gradle Wrapper
使用的Gradle
類型(分爲all
和bin
,默認是bin
,bin
是執行包,all
則是完整包):gradlew wrapper --distribution-type all
Gradle
的地址(除非是須要使用私庫,否則不太建議使用):gradlew wrapper --gradle-distribution-url https\://services.gradle.org/distributions/gradle-4.9-bin.zip
上面的指令中的gradlew
也能夠使用gradle
代替,表示使用本機安裝的Gradle
來處理it
Gradle Wrapper
相關文件缺失怎麼辦?在項目的根目錄下執行gradle wrapper
就會自動建立相關文件。io
除了經過配置gradle-wrapper.properties
還有什麼辦法指定項目的Gradle
版本?
能夠在build.gradle
文件如下配置便可:
wrapper { distributionUrl = https://services.gradle.org/distributions/gradle-4.9-all.zip distributionType = Wrapper.DistributionType.ALL }