quarkusio/quarkus · error · RegistryResolutionException

No registries configured

Error message

No registries configured

What it means

A RegistryResolutionException thrown by resolveExtensionCatalog(String quarkusCoreVersion) when a specific Quarkus core version was requested but no registries are configured, making resolution impossible.

Source

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

        if (catalogsToMerge.isEmpty()) {
            return defaultCatalog;
        }
        return CatalogMergeUtility.mergePlatformCatalogs(catalogsToMerge);
    }

    private static void addOriginPreference(final ExtensionCatalog.Mutable ec, OriginPreference originPreference) {
        ec.getMetadata().put(Constants.REGISTRY_CLIENT_ORIGIN_PREFERENCE, originPreference);
    }

    public ExtensionCatalog resolveExtensionCatalog(String quarkusCoreVersion) throws RegistryResolutionException {
        if (quarkusCoreVersion == null) {
            return resolveExtensionCatalog();
        }

        final int registriesTotal = registries.size();
        if (registriesTotal == 0) {
            throw new RegistryResolutionException("No registries configured");
        }

        return resolveExtensionCatalog(quarkusCoreVersion, new ExtensionCatalogBuilder(), Collections.emptySet());
    }

    private ExtensionCatalog resolveExtensionCatalog(String quarkusCoreVersion,
            final ExtensionCatalogBuilder catalogBuilder, Set<String> preferredPlatformKeys)
            throws RegistryResolutionException {
        collectPlatformExtensions(quarkusCoreVersion, catalogBuilder, preferredPlatformKeys);
        int i = 0;
        while (i < catalogBuilder.upstreamQuarkusVersions.size()) {
            collectPlatformExtensions(catalogBuilder.upstreamQuarkusVersions.get(i++), catalogBuilder, preferredPlatformKeys);
        }
        return catalogBuilder.build();
    }

    public ExtensionCatalog resolveExtensionCatalog(PlatformStreamCoords streamCoords) throws RegistryResolutionException {

View on GitHub (pinned to e1c734241f)

Solutions

  1. Initialize the resolver with a registry client configuration containing at least one registry (call load()/loadFromUrl before resolving)
  2. Add registryquarkus configuration to ~/.m2/settings.xml if using Maven settings
  3. Remove config overrides that disable all registries

Example fix

// before
ExtensionCatalogResolver.builder().build(); // never configured
// after
resolver.load(); // load default/configured registries before resolveExtensionCatalog(version)
Defensive patterns

Strategy: validation

Validate before calling

ExtensionCatalogResolver r = ...;
if (r.getRegistries().isEmpty()) throw new IllegalStateException("No registries configured; call load() first");

Try / catch

try { resolver.resolveExtensionCatalog(coreVersion); } catch (RegistryResolutionException e) { log.error("No registries configured: " + e.getMessage()); throw e; }

Prevention

When it happens

Trigger: resolveExtensionCatalog(quarkusCoreVersion,...) called with quarkusCoreVersion != null and registries.size() == 0; callers include getExtensionCatalog, extensionsCatalog, resolveExtensionsCatalog(ForStream), getProject.

Common situations: Programmatic use of ExtensionCatalogResolver without loading any registry configuration; missing/empty registry client config file; all registries filtered out before resolution.

Related errors


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