Windows 10系统下Gradle构建报错:无法确定Java版本
解决Gradle无法识别Java 11.0.7版本的问题
我之前也碰到过完全一样的报错,大概率是项目里的Gradle Wrapper版本太老,对Java 11的版本号格式兼容有问题,给你几个可行的解决办法:
方案一:更新项目的Gradle Wrapper版本
项目里的gradlew是Wrapper脚本,它会用自己配置的Gradle版本来构建,和你本地装的Gradle 6.8没关系。如果Wrapper用的是4.x及以下的旧版本,就会识别不了Java 11.0.7的版本号格式。
- 打开项目根目录下的
gradle/wrapper/gradle-wrapper.properties文件 - 修改
distributionUrl字段为你本地的Gradle 6.8版本,比如:distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip - 或者直接在IntelliJ终端执行命令更新Wrapper:
gradlew wrapper --gradle-version 6.8 - 之后再重新运行
gradlew build应该就能正常执行了
方案二:检查并修复Java环境变量配置
有时候环境变量没设对,Gradle也会找不到正确的Java版本:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 确认
JAVA_HOME指向你的Java 11.0.7安装路径,比如C:\Program Files\Java\jdk-11.0.7 - 把
%JAVA_HOME%\bin加到PATH环境变量的最前面,确保优先使用这个Java版本 - 关闭当前的IntelliJ终端,重新打开一个,执行
java -version确认输出是11.0.7,再跑gradlew build
方案三:在IntelliJ里指定项目的JDK和Gradle JVM
IntelliJ有时候会默认用其他JDK来运行Gradle,手动指定一下更稳妥:
- 打开「File」→「Project Structure」→「Project Settings」→「Project」
- 把「Project SDK」选成你的Java 11.0.7,「Project language level」设为11
- 再打开「File」→「Settings」→「Build, Execution, Deployment」→「Build Tools」→「Gradle」
- 在「Gradle JVM」里选择刚才的Java 11.0.7
- 保存设置后重新执行构建命令
内容的提问来源于stack exchange,提问作者Mandroid
相关产品推荐
相关产品推荐

