10.1 是什么?为什么要用?
Gradle Wrapper(gradlew)和你已经有的mvnw是同一个东西:
- 项目自带指定版本的 Gradle,不依赖机器上安装的版本
- 团队成员直接
.\gradlew build就能用,不用提前安装 Gradle - CI/CD 服务器同样不需要预装 Gradle
结论:生产项目统一用.\gradlew,不要用全局的gradle。
10.2 初始化 Wrapper(一次性操作)
在项目根目录执行(需要已安装全局 Gradle):
gradle wrapper--gradle-version 7.6.4--distribution-typebin执行后生成四个文件,全部提交到 Git:
gradlew ← Linux/Mac 用 gradlew.bat ← Windows 用 gradle/wrapper/gradle-wrapper.jar ← Wrapper 核心 gradle/wrapper/gradle-wrapper.properties ← 版本配置之后团队其他成员不需要安装 Gradle,直接用:
.\gradlew clean build-x test10.3 gradle-wrapper.properties 说明
# gradle/wrapper/gradle-wrapper.properties distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists # 这行是核心:指定 Gradle 版本 distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists国内网络慢?换腾讯云镜像:
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.6.4-bin.zip10.4 升级 Gradle 版本
# 升级到指定版本.\gradlew wrapper--gradle-version 8.5# 升级后把修改提交到 Gitgit add gradle/wrapper/gradle-wrapper.properties git commit-m"chore: upgrade Gradle to 8.5"10.5 gradle.properties 性能配置
在项目根目录新建gradle.properties,加上这几行,构建会快很多:
# gradle.properties # JVM 内存(大项目必加,默认内存太小) org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 # 守护进程(默认开,显式声明) org.gradle.daemon=true # 并行构建(多模块项目有效) org.gradle.parallel=true # 构建缓存(clean 后也能利用缓存) org.gradle.caching=true10.6 本地 Gradle 缓存位置
首次运行.\gradlew会自动下载 Gradle 到:
~/.gradle/wrapper/dists/gradle-7.6.4-bin/ ← Gradle 本体 ~/.gradle/caches/ ← 依赖缓存下载一次之后,同版本的其他项目不会重复下载。
➡️ 下一章:构建提速