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
- Install a JDK of at least the required version in the project's environment.
- 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.