{"record":{"id":"983d38119e491b2e","repo":"JetBrains/intellij-community","slug":"build-manager-launch-build-process-failed-to-find","errorCode":"build.manager.launch.build.process.failed.to.find.compatible.jdk.found.too.old","errorMessage":"The build process requires JDK {2} or newer, but the highest JDK in this project is {0}. Install a JDK {2}+ in the project''s environment ({1}) and add it in File | Project Structure | Platform Settings | SDKs.","messagePattern":"The build process requires JDK (.+?) or newer, but the highest JDK in this project is (.+?)\\. Install a JDK (.+?)\\+ in the project''s environment \\((.+?)\\) and add it in File \\| Project Structure \\| Platform Settings \\| SDKs\\.","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java","lineNumber":1269,"sourceCode":"      .filter(p -> p.second != null)\n      .orElse(null);\n  }\n\n  private static @NotNull Pair<Sdk, JavaSdkVersion> getIDERuntimeSdkOrErrorIfRemote(\n    @NotNull Project project, int requiredFeatureVersion, @Nullable Pair<@NotNull Sdk, @NotNull JavaSdkVersion> highestRejected\n  ) {\n    if (!EelProjectUtils.isProjectLocal(project)) {\n      var environmentName = EelProviderUtil.getEelDescriptor(project).getName();\n      var rejectedSdk = highestRejected == null ? null : highestRejected.first;\n      LOG.info(\"Failed to find compatible JDK for the build process. Required JDK \" + requiredFeatureVersion + \"+\" +\n               \", environment: \" + environmentName +\n               \", highest rejected: \" + (rejectedSdk == null ? \"<none>\" :\n                                         rejectedSdk.getName() +\n                                         \" (version=\" + rejectedSdk.getVersionString() +\n                                         \", home=\" + rejectedSdk.getHomePath() + \")\") +\n               \". \" + describeAvailableJdks(project));\n      if (rejectedSdk != null) {\n        throw new IllegalStateException(JavaCompilerBundle.message(\n          \"build.manager.launch.build.process.failed.to.find.compatible.jdk.found.too.old\",\n          rejectedSdk.getName() + \" (\" + rejectedSdk.getVersionString() + \")\", environmentName, requiredFeatureVersion));\n      }\n      else {\n        throw new IllegalStateException(JavaCompilerBundle.message(\n          \"build.manager.launch.build.process.failed.to.find.compatible.jdk.required.version\",\n          environmentName, requiredFeatureVersion));\n      }\n    }\n    @SuppressWarnings(\"removal\")\n    var sdk = JavaAwareProjectJdkTableImpl.getInstanceEx().getInternalJdk();\n    return new Pair<>(sdk, JavaSdk.getInstance().getVersion(sdk));\n  }\n\n  private static @Nullable Pair<@NotNull Sdk, @NotNull JavaSdkVersion> pickHigherJdk(\n    @Nullable Pair<@NotNull Sdk, @NotNull JavaSdkVersion> a,\n    @Nullable Pair<@NotNull Sdk, @NotNull JavaSdkVersion> b\n  ) {","sourceCodeStart":1251,"sourceCodeEnd":1287,"githubUrl":"https://github.com/JetBrains/intellij-community/blob/be881553f2a76ac8b4ea53950d93f0de78295c19/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java#L1251-L1287","documentation":"Error \"The build process requires JDK {2} or newer, but the highest JDK in this project is {0}. Install a JDK {2}+ in the project''s environment ({1}) and add it in File | Project Structure | Platform Settings | SDKs.\" thrown in JetBrains/intellij-community.","triggerScenarios":"The build is configured to run with a newer Java language level or bytecode target than any JDK available in the project.","commonSituations":"A project using Java 17+ features opened in an environment where only an older JDK (e.g. JDK 8 or 11) is configured.","solutions":["Install a JDK of the required version or newer on the machine.","Register it under File | Project Structure | Platform Settings | SDKs and set it as the project or module SDK."],"exampleFix":"Install JDK 21, then File | Project Structure | SDKs | + | Add JDK -> select its home, and set Project SDK to it.","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"be881553f2a76ac8b4ea53950d93f0de78295c19","analyzedAt":"2026-08-14T14:13:06.425Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}