JetBrains/intellij-community · error · IllegalStateException

build.manager.launch.build.process.failed.to.find.compatible.jdk.required.version

build.manager.launch.build.process.failed.to.find.compatible.jdk.required.version

Error message

The build process requires JDK {1} or newer, but no compatible JDK was found. Install a JDK {1}+ in the project''s environment ({0}) and add it in File | Project Structure | Platform Settings | SDKs.

What it means

Error "The build process requires JDK {1} or newer, but no compatible JDK was found. Install a JDK {1}+ in the project''s environment ({0}) and add it in File | Project Structure | Platform Settings | SDKs." thrown in JetBrains/intellij-community.

Source

Thrown at java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java:1274

    @NotNull Project project, int requiredFeatureVersion, @Nullable Pair<@NotNull Sdk, @NotNull JavaSdkVersion> highestRejected
  ) {
    if (!EelProjectUtils.isProjectLocal(project)) {
      var environmentName = EelProviderUtil.getEelDescriptor(project).getName();
      var rejectedSdk = highestRejected == null ? null : highestRejected.first;
      LOG.info("Failed to find compatible JDK for the build process. Required JDK " + requiredFeatureVersion + "+" +
               ", environment: " + environmentName +
               ", highest rejected: " + (rejectedSdk == null ? "<none>" :
                                         rejectedSdk.getName() +
                                         " (version=" + rejectedSdk.getVersionString() +
                                         ", home=" + rejectedSdk.getHomePath() + ")") +
               ". " + describeAvailableJdks(project));
      if (rejectedSdk != null) {
        throw new IllegalStateException(JavaCompilerBundle.message(
          "build.manager.launch.build.process.failed.to.find.compatible.jdk.found.too.old",
          rejectedSdk.getName() + " (" + rejectedSdk.getVersionString() + ")", environmentName, requiredFeatureVersion));
      }
      else {
        throw new IllegalStateException(JavaCompilerBundle.message(
          "build.manager.launch.build.process.failed.to.find.compatible.jdk.required.version",
          environmentName, requiredFeatureVersion));
      }
    }
    @SuppressWarnings("removal")
    var sdk = JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk();
    return new Pair<>(sdk, JavaSdk.getInstance().getVersion(sdk));
  }

  private static @Nullable Pair<@NotNull Sdk, @NotNull JavaSdkVersion> pickHigherJdk(
    @Nullable Pair<@NotNull Sdk, @NotNull JavaSdkVersion> a,
    @Nullable Pair<@NotNull Sdk, @NotNull JavaSdkVersion> b
  ) {
    if (a == null) return b;
    if (b == null) return a;
    return a.second.compareTo(b.second) >= 0 ? a : b;
  }

View on GitHub (pinned to be881553f2)

Solutions

  1. Install a JDK of at least the required version in the project's environment.
  2. Add it under File | Project Structure | Platform Settings | SDKs and select it for the project.

Example fix

File | Project Structure | SDKs | + -> Download JDK -> pick a JDK matching the required version.

When it happens

Trigger: The build process requires a minimum JDK version and no configured JDK satisfies it.

Common situations: CI agents or fresh machines where the project was opened before any suitable JDK was installed or detected.


AI-assisted analysis of JetBrains/intellij-community@be881553f2 (2026-08-14). Data as JSON: /api/errors/988fbfaf884cd296. Report an issue: GitHub.