quarkusio/quarkus · error · QuarkusCommandException
Some extensions are not compatible with the selected Java ve
Error message
Some extensions are not compatible with the selected Java version (%s): %s
What it means
checkMinimumJavaVersion compares each requested extension's minimum required Java version (from catalog metadata) against the selected project Java version. If any extension's minimum exceeds the chosen version, the command aborts listing each offender with its management key and minimum requirement.
Source
Thrown at independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/commands/handlers/CreateProjectCommandHandler.java:540
}
}
private void checkMinimumJavaVersion(String javaVersionString, List<Extension> extensions) throws QuarkusCommandException {
final List<Extension> incompatibleExtensions = new ArrayList<>();
final int javaVersion = javaVersionString == null ? JavaVersion.DEFAULT_JAVA_VERSION
: Integer.parseInt(javaVersionString);
for (Extension extension : extensions) {
Integer extMinJavaVersion = getMinimumJavaVersion(extension);
if (extMinJavaVersion != null
&& javaVersion < extMinJavaVersion) {
incompatibleExtensions.add(extension);
}
}
if (!incompatibleExtensions.isEmpty()) {
final String list = incompatibleExtensions.stream()
.map(e -> String.format("- %s (min: %s)", e.managementKey(), getMinimumJavaVersion(e)))
.collect(Collectors.joining("\n "));
throw new QuarkusCommandException(String
.format("Some extensions are not compatible with the selected Java version (%s):\n %s", javaVersion, list));
}
}
private static String getDefaultCodestart(ExtensionCatalog catalog) {
// Recent versions of the catalog have a default-codestart in the project metadata (2.10+)
var map = catalog.getMetadata();
if (map != null && !map.isEmpty()) {
var projectMetadata = map.get("project");
if (projectMetadata instanceof Map) {
var defaultCodestart = ((Map<?, ?>) projectMetadata).get("default-codestart");
if (defaultCodestart != null) {
if (defaultCodestart instanceof String) {
return defaultCodestart.toString();
}
}
}
}View on GitHub (pinned to e1c734241f)
Solutions
- Raise the project's Java version (quarkus create ... -DjavaVersion=21) to meet the highest listed minimum.
- Use a JDK/toolchain of at least the required version in your IDE and CI.
- Downgrade the offending extension or use an older Quarkus platform stream where the extension supports your Java version.
- Remove extensions you don't strictly need if their minimum is the blocker.
Example fix
// before quarkus create app -x rest myapp -DjavaVersion=11 // after quarkus create app -x rest myapp -DjavaVersion=21
Defensive patterns
Strategy: validation
Validate before calling
// Compare required vs selected Java version before creating the project
int selected = Runtime.version().feature();
for (Extension e : requestedExtensions) {
String min = getMinimumJavaVersion(e); // from catalog metadata
if (min != null && Integer.parseInt(min) > selected) {
throw new IllegalStateException(e.managementKey() + " requires Java " + min);
}
} Try / catch
try {
createProjectCmd.execute(...);
} catch (QuarkusCommandException e) {
if (e.getMessage().startsWith("Some extensions are not compatible with the selected Java version")) {
// re-run with a higher -DjavaVersion parsed from the message
} else throw e;
} Prevention
- Check extension metadata minimum-java-version before adding
- Default new projects to a supported LTS (17/21)
- Keep CI JDK and project javaVersion aligned
When it happens
Trigger: Executing CreateProject/CreateJSProject with extensions whose getMinimumJavaVersion() is greater than the javaVersion argument (e.g. extensions requiring 17 or 21 while creating a Java 11 project).
Common situations: Creating a project with -DjavaVersion=11 while adding modern extensions that require Java 17+; CI pipelines pinned to old JDKs; corporate standards mandating Java 8/11 with a current Quarkus platform.
Related errors
- The specified %s identifier (%s) contains invalid characters
- Unable to list extension categories
- Unable to list extensions
- Unable to list platforms
- Failed to resolve extension catalog
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/777cc1bc0efb4da2.
Report an issue: GitHub.