Flutter创建项目报错:Gradle守护进程Java Home不匹配求助
修复Flutter创建项目时Gradle守护进程Java Home不匹配问题
步骤1:终止所有Gradle守护进程
先停止当前运行的Gradle守护进程,消除上下文冲突:
./gradlew --stop
若上述命令无效,直接杀掉相关进程:
pkill -f "GradleDaemon"
步骤2:统一JAVA_HOME环境变量
确保终端和VS Code使用的JAVA_HOME与Gradle实际运行的路径一致(即/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home):
- 查看当前终端的JAVA_HOME:
echo $JAVA_HOME
- 若输出不符,临时设置环境变量(仅当前终端生效):
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH
- 永久生效需编辑shell配置文件(如
~/.zshrc或~/.bash_profile),添加上述两行后执行:
source ~/.zshrc
步骤3:配置Gradle指定Java Home
若环境变量设置后仍有问题,直接在项目Gradle配置中指定路径:
- 在项目根目录的
gradle.properties中添加:
org.gradle.java.home=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
- 或在
android/build.gradle中添加:
allprojects { tasks.withType(JavaCompile) { options.fork = true options.forkOptions.javaHome = file('/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home') } }
步骤4:清理缓存
清除Flutter和Gradle的残留缓存:
flutter clean rm -rf ~/.gradle/caches
之后重新创建项目或执行flutter pub get。
步骤5:验证VS Code的Java环境
确保VS Code使用的Java环境与终端一致:
- 按下
Cmd+Shift+P,输入Java: Configure Java Runtime,检查默认JDK是否为Temurin 17。 - 在VS Code终端中执行
echo $JAVA_HOME,确认环境变量已正确继承。
内容的提问来源于stack exchange,提问作者learner_bee
相关产品推荐
相关产品推荐

