{"record":{"id":"f01d9d8f36ae0ea9","repo":"quarkusio/quarkus","slug":"failed-to-resolve-the-recommended-quarkus-extensio-f01d9d","errorCode":null,"errorMessage":"Failed to resolve the recommended Quarkus extension catalog from the configured extension registries","messagePattern":"Failed to resolve the recommended Quarkus extension catalog from the configured extension registries","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/UpdateMojo.java","lineNumber":120,"sourceCode":"                        platformVersion);\n                targetCatalog = getExtensionCatalogResolver().resolveExtensionCatalog(List.of(targetPrimaryBom));\n            } else if (stream != null) {\n                var platformStream = PlatformStreamCoords.fromString(stream);\n                targetCatalog = getExtensionCatalogResolver().resolveExtensionCatalog(platformStream);\n                platformVersion = getPrimaryBom(targetCatalog).getVersion();\n            } else {\n                if (bomVersion != null) {\n                    targetCatalog = getExtensionCatalogResolver().resolveExtensionCatalog(List.of(ArtifactCoords.pom(\n                            this.bomGroupId == null ? ToolsConstants.DEFAULT_PLATFORM_BOM_GROUP_ID : this.bomGroupId,\n                            this.bomArtifactId == null ? ToolsConstants.DEFAULT_PLATFORM_BOM_ARTIFACT_ID : this.bomArtifactId,\n                            bomVersion)));\n                } else {\n                    targetCatalog = getExtensionCatalogResolver().resolveExtensionCatalog();\n                }\n                platformVersion = getPrimaryBom(targetCatalog).getVersion();\n            }\n        } catch (RegistryResolutionException e) {\n            throw new MojoExecutionException(\n                    \"Failed to resolve the recommended Quarkus extension catalog from the configured extension registries\", e);\n        }\n        final UpdateProject invoker = new UpdateProject(quarkusProject);\n        invoker.targetCatalog(targetCatalog);\n        invoker.targetPlatformVersion(platformVersion);\n        invoker.appModel(resolveApplicationModel());\n        if (rewritePluginVersion != null) {\n            invoker.rewritePluginVersion(rewritePluginVersion);\n        }\n        if (rewriteQuarkusUpdateRecipes != null) {\n            invoker.rewriteQuarkusUpdateRecipes(rewriteQuarkusUpdateRecipes);\n        }\n        if (rewriteAdditionalUpdateRecipes != null) {\n            invoker.rewriteAdditionalUpdateRecipes(rewriteAdditionalUpdateRecipes);\n        }\n        invoker.rewriteDryRun(rewriteDryRun);\n\n        // backward compat","sourceCodeStart":102,"sourceCodeEnd":138,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/UpdateMojo.java#L102-L138","documentation":"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.","triggerScenarios":"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).","commonSituations":"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.","solutions":["Check network access to the registry URLs (curl https://registry.quarkus.io) and configure proxy settings (~/.m2/settings.xml proxies)","Review quarkus.registry settings in .quarkus/config.yaml or ~/.quarkus/config.yaml for typos","Retry later if the registry service is down; check Quarkus registry status","Use a mirror/internal registry mirror and configure it as the registry source"],"exampleFix":"// before\nquarkus.registry=custom-broken.example.com\n// after\nquarkus.registry=registry.quarkus.io\n# or configure proxy in ~/.m2/settings.xml and retry","handlingStrategy":"retry","validationCode":"// Pre-flight connectivity check to the registry:\ncurl -fsSI https://registry.quarkus.io/ >/dev/null && echo reachable\n# and inspect registry config:\ncat ~/.quarkus/config.yaml 2>/dev/null; cat .quarkus/config.yaml 2>/dev/null","typeGuard":null,"tryCatchPattern":"try { mojo.execute(); }\ncatch (MojoExecutionException e) {\n  if (e.getCause() instanceof RegistryResolutionException) {\n    log.warn(\"Registry unreachable; check proxy/VPN, retrying with backoff\");\n    // retry with exponential backoff, then fail with guidance\n  } else throw e;\n}","preventionTips":["Verify quarkus.registry config entries for typos before upgrading","Configure corporate proxies in ~/.m2/settings.xml and TLS truststore","Add an internal registry mirror for CI/offline environments","Pin a catalog/registry version so resolution does not depend on live lookups"],"tags":["maven","quarkus","network","registry"],"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"}