为何本地安装的Gradle与Gradle Wrapper版本不一致?
核心原因
这是Gradle的正常设计逻辑,不属于配置错误:
- 执行
gradle --version返回的是操作系统全局安装的Gradle版本,即系统环境变量指向的Gradle实例,你本地全局版本为7.4.2 - 执行项目根目录
./gradlew --version返回的是项目绑定的Gradle Wrapper指定版本,版本号完全由项目内gradle/wrapper/gradle-wrapper.properties的distributionUrl配置决定,你当前项目配置锁定的版本为7.2,返回对应结果完全符合预期。
Gradle Wrapper的核心作用就是为项目固定构建所用的Gradle版本,屏蔽不同开发者本地全局Gradle版本差异、CI/CD环境版本差异带来的构建不兼容问题,是Gradle官方推荐的项目构建方式,不需要开发者本地提前安装对应版本的Gradle,执行
gradlew相关命令时会自动下载匹配版本到本地缓存。
IntelliJ IDEA默认配置的行为
你使用的IDEA保持默认偏好设置时,构建项目、运行测试会默认调用项目绑定的Gradle Wrapper,不会使用你本地全局安装的7.4.2版本,当前的版本差异不会影响项目正常构建,无特殊需求无需调整。
可选调整方案
如果你有明确需求需要对齐两个版本,可选择以下任意一种操作:
- 升级项目Wrapper版本到7.4.2(推荐,所有协作者、CI环境可同步生效)
在项目根目录执行以下命令,通过全局Gradle重新生成Wrapper配置:
执行完成后gradle wrapper --gradle-version 7.4.2gradle-wrapper.properties内的distributionUrl会自动更新为7.4.2版本的下载地址,后续所有执行./gradlew命令的场景都会自动使用7.4.2版本。 - 修改IDEA配置使用本地全局Gradle(仅本地生效,不推荐)
进入IDEA Gradle设置页,将构建、测试使用的Gradle源从默认的Gradle Wrapper修改为本地全局安装的Gradle路径即可。该配置仅对你本地开发环境生效,其他协作者、CI环境仍会使用Wrapper锁定的7.2版本,容易出现本地构建正常、其他环境构建失败的兼容问题。
内容的提问来源于stack exchange,提问作者Kosh
相关产品推荐
相关产品推荐

