Question Details

No question body available.

Tags

java gradle intellij-idea jvm-hotspot

Answers (1)

July 29, 2026 Score: 3 Rep: 510 Quality: Medium Completeness: 60%

The Cannot use JVMCI compiler: No JVMCI compiler found error usually means you're building with GraalVM locally but running the output on a runtime that doesn't include the Graal JIT components.

GraalVM JDKs enable the JVM Compiler Interface (JVMCI) by default, while standard OpenJDK distributions don't. On Windows, this relies on jvmcicompiler.dll. Since Gradle’s application plugin only bundles launcher scripts and not the whole JDK, your local build expects that DLL to be present at runtime. The release version you downloaded likely came from a CI environment using plain OpenJDK where JVMCI is disabled, so it never looks for the file.

The fix is to explicitly disable the JVMCI compiler in your build.gradle so the app doesn't try to use Graal's JIT:

application {
    applicationDefaultJvmArgs = ['-XX:-UseJVMCICompiler']
}

This forces the app to use the standard C2 compiler, which works across any JDK distribution. If you don't use the application plugin, you can set -XX:-UseJVMCICompiler in your JAVATOOLOPTIONS or your IDE run config.

You could also just switch your local JAVA_HOME to a standard OpenJDK (like Temurin or Zulu) to match the remote build environment. I wouldn't recommend manually copying DLLs; it's brittle and won't actually solve the underlying configuration mismatch.