quarkusio/quarkus · error · MojoExecutionException
Failed to resolve the catalog of Quarkus platforms
Error message
Failed to resolve the catalog of Quarkus platforms
What it means
This MojoExecutionException wraps a RegistryResolutionException thrown while resolving the Quarkus platform catalog via the extension registries in QuarkusProjectMojoBase.getImportedPlatforms. It means the registry client was reachable/configured but the request to fetch the platform catalog failed (network error, invalid registry URL, or catalog artifact not found). The original RegistryResolutionException is attached as the cause.
Solutions
- Inspect the cause (RegistryResolutionException) for the failing registry URL and fix the registry configuration or URL
- Verify network/proxy connectivity to the configured registry endpoint (curl the URL)
- Run the build offline with explicit platform coordinates instead of registry lookup: set platformGroupId/platformArtifactId/platformVersion in pom.xml plugin configuration
- Clear stale cached registry data if the registry recently changed endpoints
Example fix
// before (settings causing registry dependency) mvn quarkus:list-platforms // after (no registry needed) mvn quarkus:list-platforms -DplatformGroupId=io.quarkus.platform -DplatformArtifactId=quarkus-bom -DplatformVersion=3.8.1
Defensive patterns
Strategy: try-catch
Validate before calling
// pre-check connectivity to the registry endpoint before invoking the goal: // curl -fsS https://registry.quarkus.io (or your configured registry URL)
Try / catch
try {
// run goal / resolvePlatformCatalog()
} catch (MojoExecutionException e) {
if (e.getCause() instanceof RegistryResolutionException) {
// inspect registry URL, fall back to explicit platform coordinates
}
} Prevention
- Configure a reachable, correct registry URL in the Quarkus registry config
- Whitelist the registry host in corporate proxies/firewalls
- Prefer explicit platform BOM coordinates over registry lookups in CI
- Cache platform catalogs for offline builds
When it happens
Trigger: Calling getImportedPlatforms (via resolveExtensionCatalog) when the project has no pom.xml, no explicit BOM coordinates are set, and ExtensionCatalogResolver.resolvePlatformCatalog() throws RegistryResolutionException — e.g. registry endpoint unreachable or returns 404.
Common situations: Corporate proxy or firewall blocking registry.quarkus.io; misconfigured registry URL in Quarkus registry config; registry outage; offline builds attempting registry lookups; wrong quarkus.registry.* settings in ~/.m2/settings.xml.
Related errors
- Couldn't resolve the Quarkus platform catalog since none of…
- ${descriptorResolutionFailureMessage}
- Extension catalog could not be resolved from
- Failed to initialize Quarkus Maven extension manager
- Failed to initialize the Quarkus Maven extension manager
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/091cf0db69efca8e.
Report an issue: GitHub.
Appendix: source
Thrown at devtools/maven/src/main/java/io/quarkus/maven/QuarkusProjectMojoBase.java:180
}
protected List<ArtifactCoords> getImportedPlatforms() throws MojoExecutionException {
if (importedPlatforms == null) {
if (project.getFile() == null) {
if (bomGroupId == null && bomArtifactId == null && bomVersion == null) {
return List.of();
}
final ExtensionCatalogResolver catalogResolver = getExtensionCatalogResolver();
if (!catalogResolver.hasRegistries()) {
throw new MojoExecutionException(
"Couldn't resolve the Quarkus platform catalog since none of the Quarkus extension registries are available");
}
ArtifactCoords platformBom;
try {
platformBom = getSingleMatchingBom(bomGroupId, bomArtifactId, bomVersion,
getExtensionCatalogResolver().resolvePlatformCatalog());
} catch (RegistryResolutionException e) {
throw new MojoExecutionException("Failed to resolve the catalog of Quarkus platforms", e);
}
if (platformBom == null && bomVersion != null) {
platformBom = ArtifactCoords.pom(
bomGroupId == null ? ToolsConstants.DEFAULT_PLATFORM_BOM_GROUP_ID : bomGroupId,
bomArtifactId == null ? ToolsConstants.DEFAULT_PLATFORM_BOM_ARTIFACT_ID : bomArtifactId,
bomVersion);
}
return importedPlatforms = platformBom == null ? List.of() : List.of(platformBom);
}
importedPlatforms = collectImportedPlatforms();
}
return importedPlatforms;
}
protected MavenArtifactResolver catalogArtifactResolver() throws MojoExecutionException {
return artifactResolver();
}
View on GitHub (pinned to e1c734241f)