Gradle project sync cannot determine JDK
已回答
Hi!
I'm trying to setup my dev environment on a completely new machine (fresh installment of IntelliJ, JDK, gradle, etc.) but gradle import/sync won't work for some reason in the IDE.
- Windows 10, IntelliJ IU-213.7172.25, JDK 11.0.9, gradle 7.4
This is what I see in idea.log:
2022-05-02 14:24:27,468 [ 160716] INFO - xecution.GradleExecutionHelper - Passing command-line args to Gradle Tooling API: --init-script C:\Users\me\AppData\Local\Temp\ijmapper.gradle -Didea.sync.active=true -Didea.resolveSourceSetDependencies=true -Porg.gradle.kotlin.dsl.provider.cid=207177288100 -Pkotlin.mpp.enableIntransitiveMetadataConfiguration=true --init-script C:\Users\me\AppData\Local\Temp\ijinit1.gradle 2022-05-02 14:24:27,473 [ 160721] INFO - .project.GradleProjectResolver - Gradle project resolve error org.gradle.tooling.GradleConnectionException: Could not run phased build action using connection to Gradle installation 'C:\me\gradle-7.4'. at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:55) at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29) at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:43) at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:69) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: org.gradle.api.GradleException: Unable to determine version for JDK located at C:\me\jdk-11.0.9. Reason: Command returned unexpected result code: 1 Error output: at org.gradle.internal.jvm.inspection.DefaultJvmVersionDetector.validate(DefaultJvmVersionDetector.java:59) at org.gradle.internal.jvm.inspection.DefaultJvmVersionDetector.getVersionFromJavaHome(DefaultJvmVersionDetector.java:52) at org.gradle.internal.jvm.inspection.DefaultJvmVersionDetector.getJavaVersion(DefaultJvmVersionDetector.java:37) at org.gradle.tooling.internal.provider.ProviderConnection.initParams(ProviderConnection.java:320) at org.gradle.tooling.internal.provider.ProviderConnection.runPhasedAction(ProviderConnection.java:177) at org.gradle.tooling.internal.provider.DefaultConnection.run(DefaultConnection.java:245) at org.gradle.tooling.internal.consumer.connection.PhasedActionAwareConsumerConnection.run(PhasedActionAwareConsumerConnection.java:56) at org.gradle.tooling.internal.consumer.connection.ParameterValidatingConsumerConnection.run(ParameterValidatingConsumerConnection.java:62) at org.gradle.tooling.internal.consumer.DefaultPhasedBuildActionExecuter$1.run(DefaultPhasedBuildActionExecuter.java:78) at org.gradle.tooling.internal.consumer.DefaultPhasedBuildActionExecuter$1.run(DefaultPhasedBuildActionExecuter.java:70) at org.gradle.tooling.internal.consumer.connection.LazyConsumerActionExecutor.run(LazyConsumerActionExecutor.java:143) at org.gradle.tooling.internal.consumer.connection.CancellableConsumerActionExecutor.run(CancellableConsumerActionExecutor.java:45) at org.gradle.tooling.internal.consumer.connection.ProgressLoggingConsumerActionExecutor.run(ProgressLoggingConsumerActionExecutor.java:61) at org.gradle.tooling.internal.consumer.connection.RethrowingErrorsConsumerActionExecutor.run(RethrowingErrorsConsumerActionExecutor.java:38) at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:67) ... 6 more 2022-05-02 14:24:27,477 [ 160725] INFO - s.plugins.gradle.GradleManager - Instructing gradle to use java from c:\me\jdk-11.0.9 2022-05-02 14:24:27,486 [ 160734] INFO - System.util.ExternalSystemUtil - External project [C:/me/somenew] resolution task executed in 118 ms. 2022-05-02 14:24:27,840 [ 161088] INFO - ge.ExternalProjectsDataStorage - Save external projects data in 5 ms 2022-05-02 14:24:29,304 [ 162552] INFO - rationStore.ComponentStoreImpl - Saving Project(name=somenew, containerState=COMPONENT_CREATED, componentStore=C:\me\somenew)RunManager took 16 ms 2022-05-02 14:26:56,907 [ 310155] INFO - il.indexing.FileBasedIndexImpl - Health check heartbeat
And this is what I see in IntelliJ:

It occurs with even a minimal newly created gradle project, but gradle build from command line works without issue.
This is what I have tried and have done so far trying to resolve it:
- checked JDK and gradle settings and paths in the IDE
- reinstalled JDK (different versions, and on different path)
- reinstalled IntelliJ Ultimate (2022.1 and 2021.3.3)
- checked JAVA_HOME, GRADLE_HOME, Path environment variables
- invalidated IDE caches
I'm not sure what else I am missng.
请先登录再写评论。
Do you have JAVA_HOME defined on computer?
Does this JDK work for command line Gradle or if you set in as IDE project JDK for non-Gradle project and build and run the project?
What JDKs have you tried to install?
Looking at the reason
it could be that IDE is unable to run java executable from this JDK to determinte it's version. this may be caused by antivirus/firewall or other programs blocking the IDE processes. If so, please try with such programs disabled or make sure that IDE config/caches directories, IDE installation home, JDK installation home and project files are excluded from the scan.
Andrey Dernov
I have JAVA_HOME set up and the jdk path (\bin) also added to the Path env. variable.
I have tried Oracle JDK which I have been using on my other computer without problem. I also tried with Amazon Corretto installed via the IDE.
I'll try with a non-Gradle project tomorrow and get back to you.
As for something blocking the java executable, I disabled Windows Defender/Firewall, my other firewall, and my antivirus and I encounter the same. This possibility didn't cross my mind, so thank you for mentioning it. I will check if there may be something else that is blocking it.
It turned out, it was my firewall. Strangely, shutting it down didn't help, rather I found it out by uninstalling it. Then, when I reinstalled it, I had to add some directory exclusions within my .gradle directory.
Thanks again for pointing me to the right direction.
Thank you for the information.