{"record":{"id":"5adb30fe12d4814f","repo":"quarkusio/quarkus","slug":"failed-to-initialize-quarkus-extension-resolver","errorCode":null,"errorMessage":"Failed to initialize Quarkus extension resolver","messagePattern":"Failed to initialize Quarkus extension resolver","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/QuarkusProjectMojoBase.java","lineNumber":159,"sourceCode":"        return ToolsUtils.mergePlatforms(collectImportedPlatforms(), catalogArtifactResolver());\n    }\n\n    protected ExtensionCatalogResolver getExtensionCatalogResolver() throws MojoExecutionException {\n        return catalogResolver == null ? catalogResolver = initExtensionCatalogResolver() : catalogResolver;\n    }\n\n    private ExtensionCatalogResolver initExtensionCatalogResolver() throws MojoExecutionException {\n        if (!QuarkusProjectHelper.isRegistryClientEnabled()) {\n            return ExtensionCatalogResolver.empty();\n        }\n        final ExtensionCatalogResolver catalogResolver;\n        try {\n            catalogResolver = QuarkusProjectHelper.getCatalogResolver(catalogArtifactResolver(), getMessageWriter());\n            if (refresh) {\n                catalogResolver.clearRegistryCache();\n            }\n        } catch (RegistryResolutionException e) {\n            throw new MojoExecutionException(\"Failed to initialize Quarkus extension resolver\", e);\n        }\n        return catalogResolver;\n    }\n\n    protected List<ArtifactCoords> getImportedPlatforms() throws MojoExecutionException {\n        if (importedPlatforms == null) {\n            if (project.getFile() == null) {\n                if (bomGroupId == null && bomArtifactId == null && bomVersion == null) {\n                    return List.of();\n                }\n                final ExtensionCatalogResolver catalogResolver = getExtensionCatalogResolver();\n                if (!catalogResolver.hasRegistries()) {\n                    throw new MojoExecutionException(\n                            \"Couldn't resolve the Quarkus platform catalog since none of the Quarkus extension registries are available\");\n                }\n                ArtifactCoords platformBom;\n                try {\n                    platformBom = getSingleMatchingBom(bomGroupId, bomArtifactId, bomVersion,","sourceCodeStart":141,"sourceCodeEnd":177,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/QuarkusProjectMojoBase.java#L141-L177","documentation":"initExtensionCatalogResolver creates the extension catalog resolver via QuarkusProjectHelper.getCatalogResolver, which itself resolves registry metadata. A RegistryResolutionException there is wrapped in this MojoExecutionException, meaning the extension resolver could not be initialized at all.","triggerScenarios":"Any Quarkus MoJo calling getExtensionCatalogResolver (during execute or catalog resolution) when the initial registry bootstrap fails — e.g. the registry config cannot be read or the default registry descriptor cannot be fetched.","commonSituations":"First offline run with no cached registry data; invalid quarkus.registry configuration (bad URL, malformed XML); DNS or proxy failures reaching the registry host; corrupted ~/.quarkus cache directory.","solutions":["Ensure network access to registry.quarkus.io or configure an accessible mirror/quarkus.registry URL","Validate the quarkus.registry configuration syntax in .quarkus/config.yaml","Clear the corrupted local registry cache (~/.quarkus) and rerun the goal","Rerun with registry refresh enabled to force a fresh registry fetch"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// confirm registry config file parses and endpoints resolve before running\n// grep quarkus.registry .quarkus/config.yaml\n// nslookup registry.quarkus.io","typeGuard":null,"tryCatchPattern":"try {\n    mojo.execute();\n} catch (MojoExecutionException e) {\n    if (e.getMessage().equals(\"Failed to initialize Quarkus extension resolver\") && e.getCause() instanceof RegistryResolutionException) {\n        // fix registry config/connectivity, clear ~/.quarkus cache, retry with refresh\n    } else {\n        throw e;\n    }\n}","preventionTips":["Warm the registry cache before offline builds (run once online)","Keep .quarkus/config.yaml registry entries syntactically valid","Run with registry refresh enabled after Quarkus platform upgrades"],"tags":["maven","registry","extension-resolver","quarkus"],"backgroundTag":"registry-resolution-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}