必须统一使用./gradlew(linux/macos)或gradlew.bat(windows)执行构建,禁止调用本地gradle命令;项目须含gradlew/gradlew.bat、gradle/wrapper/gradle-wrapper.jar和gradle-wrapper.properties(distributionurl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip),三者缺一不可且须全部提交git。

直接用 ./gradlew(Linux/macOS)或 gradlew.bat(Windows)执行构建,不调本地 gradle 命令——这是保证团队构建环境一致最核心的动作。Wrapper 把 Gradle 版本锁死在项目里,谁运行都走同一套逻辑,避免“我这能跑,你那报错”。
确保 Wrapper 文件完整且已提交 Git
项目根目录必须包含以下三类文件,并全部提交到版本控制:
-
gradlew(Linux/macOS 可执行脚本)或gradlew.bat(Windows 批处理) gradle/wrapper/gradle-wrapper.jar-
gradle/wrapper/gradle-wrapper.properties,其中distributionUrl必须明确指向二进制分发包,例如:distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
缺任何一个,构建就可能跳过 Wrapper,回退到本地 Gradle,导致版本失控。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
生成或升级 Wrapper 的标准做法
不要手动下载或替换 jar 文件,而是用命令生成:
- 指定版本生成:
gradle wrapper --gradle-version 8.5 - 如需 all 包(含源码和文档):
gradle wrapper --gradle-version 8.5 --distribution-type all - 生成后,立刻把
gradlew、gradlew.bat和整个gradle/wrapper/目录提交 Git -
gradle-wrapper.jar和distributionUrl必须严格匹配,不能只改 URL 不换 jar,也不能只换 jar 不改 URL
所有场景统一走 Wrapper 脚本
无论在哪执行,都必须绕过本地 Gradle:
-
命令行:Linux/macOS 用
./gradlew build,Windows 用gradlew.bat test - IDE(如 IntelliJ):设置 Gradle 配置为 “Use gradle wrapper task configuration”,禁用 “Bundled Gradle” 或 “Local installation”
-
CI/CD(GitHub Actions、GitLab CI):流水线脚本直接写
./gradlew build,无需额外安装 Gradle —— 它会自动下载并缓存
验证 JDK 与 Gradle 版本是否真正匹配
Gradle Wrapper 本身不指定 JDK,但构建失败常因 JDK 版本错位。推荐通过以下方式约束:
- 在项目根目录添加
.java-version(供 SDKMAN! 识别)或.tool-versions(供 asdf 识别),声明所需 JDK 版本(如 17 或 21) - 在
gradle.properties中设置org.gradle.java.home=/path/to/jdk-17,强制 Wrapper 使用指定 JDK - 运行
./gradlew --version,确认输出的 Gradle 版本与gradle-wrapper.properties中distributionUrl完全一致 - 遇到
Unsupported class file major version错误时,优先检查 JDK 是否满足 Gradle 版本最低要求(例如 Gradle 8.5 要求 JDK 17+)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










