quarkusio/quarkus · error · RegistryResolutionException

Failed to resolve extension catalog of ${bomCoords} from ${r

Error message

Failed to resolve extension catalog of ${bomCoords} from ${registryIds}

What it means

A RegistryResolutionException thrown when registries that were asked to provide the platform BOM failed to resolve its extension catalog. The message lists the BOM coordinates and all registry ids that were tried; it is also logged as a warning before being thrown.

Source

Thrown at independent-projects/tools/registry-client/src/main/java/io/quarkus/registry/ExtensionCatalogResolver.java:712

                } catch (RegistryResolutionException e) {
                    if (registries.size() == i + 1) {
                        throw e;
                    }
                    log.debug("%s", e.getLocalizedMessage());
                }
            }

            if (catalog == null) {
                final StringBuilder buf = new StringBuilder();
                buf.append("Failed to resolve extension catalog of ")
                        .append(PlatformArtifacts.ensureBomArtifact(bom).toCompactCoords())
                        .append(" from ");
                buf.append(registries.get(0).getId());
                for (int i = 1; i < registries.size(); ++i) {
                    buf.append(", ").append(registries.get(i));
                }
                log.warn(buf.toString());
                throw new RegistryResolutionException(buf.toString());
            }

            if (quarkusVersion == null) {
                quarkusVersion = catalog.getQuarkusCoreVersion();
            }

            Map<String, Object> md = catalog.getMetadata();
            if (md != null) {
                Object o = md.get("platform-release");
                if (o instanceof Map platformRelease) {
                    o = platformRelease.get("platform-key");
                    if (o instanceof String platformKey) {
                        if (!preferredPlatformKeys.add(platformKey)) {
                            continue;
                        }
                        final Platform.Mutable platform = Platform.builder().setPlatformKey(platformKey);

                        final PlatformStream.Mutable stream = PlatformStream.builder()

View on GitHub (pinned to e1c734241f)

Solutions

  1. Verify the BOM coordinates exist in the listed registries (check their catalog endpoints)
  2. Check network/proxy access to the listed registry ids and retry
  3. Pick a platform BOM version that is published in the configured registries
  4. Inspect the per-registry exceptions logged before this error for the root HTTP/parse failure

Example fix

// before
<platform-bom>io.quarkus.platform:quarkus-bom:999.0.0</platform-bom>
// after (released version)
<platform-bom>io.quarkus.platform:quarkus-bom:3.15.1</platform-bom>
Defensive patterns

Strategy: try-catch

Validate before calling

// Confirm BOM coordinates are published before resolution
mvn dependency:get -Dartifact=io.quarkus.platform:quarkus-bom:<version>:pom

Try / catch

try { resolver.resolveExtensionCatalog(); } catch (RegistryResolutionException e) { log.error("Platform catalog unresolved: " + e.getMessage(), e.getCause()); throw e; }

Prevention

When it happens

Trigger: During ExtensionCatalogResolver initialization, after all registries associated with a platform BOM throw exceptions attempting to resolve the catalog of that BOM, the aggregated failure is rethrown as this RegistryResolutionException.

Common situations: Platform BOM version not published to the registries; registry HTTP errors/timeouts during catalog fetch; BOM coordinates typo in the tooling request; registry degraded/unavailable at request time.

Related errors


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/c6e969cf7adf14ad. Report an issue: GitHub.