quarkusio/quarkus · error · MojoExecutionException

Failed to resolve the recommended Quarkus extension catalog

Error message

Failed to resolve the recommended Quarkus extension catalog from the configured extension registries

What it means

UpdateMojo (mvn quarkus:update) resolves the recommended extension catalog from the configured Quarkus extension registries. If resolution throws RegistryResolutionException, it is rethrown as MojoExecutionException 'Failed to resolve the recommended Quarkus extension catalog from the configured extension registries'. The registries could not be contacted or returned no usable catalog.

Source

Thrown at devtools/maven/src/main/java/io/quarkus/maven/UpdateMojo.java:120

                        platformVersion);
                targetCatalog = getExtensionCatalogResolver().resolveExtensionCatalog(List.of(targetPrimaryBom));
            } else if (stream != null) {
                var platformStream = PlatformStreamCoords.fromString(stream);
                targetCatalog = getExtensionCatalogResolver().resolveExtensionCatalog(platformStream);
                platformVersion = getPrimaryBom(targetCatalog).getVersion();
            } else {
                if (bomVersion != null) {
                    targetCatalog = getExtensionCatalogResolver().resolveExtensionCatalog(List.of(ArtifactCoords.pom(
                            this.bomGroupId == null ? ToolsConstants.DEFAULT_PLATFORM_BOM_GROUP_ID : this.bomGroupId,
                            this.bomArtifactId == null ? ToolsConstants.DEFAULT_PLATFORM_BOM_ARTIFACT_ID : this.bomArtifactId,
                            bomVersion)));
                } else {
                    targetCatalog = getExtensionCatalogResolver().resolveExtensionCatalog();
                }
                platformVersion = getPrimaryBom(targetCatalog).getVersion();
            }
        } catch (RegistryResolutionException e) {
            throw new MojoExecutionException(
                    "Failed to resolve the recommended Quarkus extension catalog from the configured extension registries", e);
        }
        final UpdateProject invoker = new UpdateProject(quarkusProject);
        invoker.targetCatalog(targetCatalog);
        invoker.targetPlatformVersion(platformVersion);
        invoker.appModel(resolveApplicationModel());
        if (rewritePluginVersion != null) {
            invoker.rewritePluginVersion(rewritePluginVersion);
        }
        if (rewriteQuarkusUpdateRecipes != null) {
            invoker.rewriteQuarkusUpdateRecipes(rewriteQuarkusUpdateRecipes);
        }
        if (rewriteAdditionalUpdateRecipes != null) {
            invoker.rewriteAdditionalUpdateRecipes(rewriteAdditionalUpdateRecipes);
        }
        invoker.rewriteDryRun(rewriteDryRun);

        // backward compat

View on GitHub (pinned to e1c734241f)

Solutions

  1. Check network access to the registry URLs (curl https://registry.quarkus.io) and configure proxy settings (~/.m2/settings.xml proxies)
  2. Review quarkus.registry settings in .quarkus/config.yaml or ~/.quarkus/config.yaml for typos
  3. Retry later if the registry service is down; check Quarkus registry status
  4. Use a mirror/internal registry mirror and configure it as the registry source

Example fix

// before
quarkus.registry=custom-broken.example.com
// after
quarkus.registry=registry.quarkus.io
# or configure proxy in ~/.m2/settings.xml and retry
Defensive patterns

Strategy: retry

Validate before calling

// Pre-flight connectivity check to the registry:
curl -fsSI https://registry.quarkus.io/ >/dev/null && echo reachable
# and inspect registry config:
cat ~/.quarkus/config.yaml 2>/dev/null; cat .quarkus/config.yaml 2>/dev/null

Try / catch

try { mojo.execute(); }
catch (MojoExecutionException e) {
  if (e.getCause() instanceof RegistryResolutionException) {
    log.warn("Registry unreachable; check proxy/VPN, retrying with backoff");
    // retry with exponential backoff, then fail with guidance
  } else throw e;
}

Prevention

When it happens

Trigger: processProjectState calls getExtensionCatalogResolver().resolveExtensionCatalog() and the registry client throws RegistryResolutionException: registry URLs unreachable, registry.quarkus.redhat.com / registry.quarkus.io outage, proxy blocking HTTPS, or an invalid custom registry configured in .quarkus/config.yaml (quarkus.registry).

Common situations: Corporate proxy/firewall blocking registry hosts; offline development; misconfigured quarkus.registry.custom-maven-repo or registry URL; TLS certificate issues in constrained networks; registry service returning errors.

Related errors


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