quarkusio/quarkus · error · RuntimeException

Failed to initialize the Quarkus Maven extension manager

Error message

Failed to initialize the Quarkus Maven extension manager

What it means

QuarkusProjectHelper.getCachedProject detects the build tool and, for Maven projects, initializes the project via MavenProjectBuildFile.getProject. If that throws a RegistryResolutionException (the Quarkus extension registry could not be resolved/initialized), it is rethrown as a RuntimeException 'Failed to initialize the Quarkus Maven extension manager'.

Source

Thrown at independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/QuarkusProjectHelper.java:61

    }

    public static BuildTool detectExistingBuildTool(Path projectDirPath) {
        return BuildTool.fromProject(projectDirPath);
    }

    public static QuarkusProject getCachedProject(Path projectDir) {
        if (cachedProject == null) {
            PrintStream nullPrintStream = new PrintStream(OutputStream.nullOutputStream());
            log = MessageWriter.info(nullPrintStream);
            BuildTool buildTool = detectExistingBuildTool(projectDir);
            if (buildTool == null) {
                buildTool = BuildTool.MAVEN;
            }
            if (BuildTool.MAVEN.equals(buildTool)) {
                try {
                    return MavenProjectBuildFile.getProject(projectDir, log, null);
                } catch (RegistryResolutionException e) {
                    throw new RuntimeException("Failed to initialize the Quarkus Maven extension manager", e);
                }
            }
            final ExtensionCatalog catalog;
            try {
                catalog = resolveExtensionCatalog();
            } catch (Exception e) {
                throw new RuntimeException("Failed to resolve the Quarkus extension catalog", e);
            }
            cachedProject = getProject(projectDir, catalog, buildTool, JavaVersion.NA, log);
        }

        return cachedProject;
    }

    public static QuarkusProject getProject(Path projectDir) {
        BuildTool buildTool = detectExistingBuildTool(projectDir);
        if (buildTool == null) {
            buildTool = BuildTool.MAVEN;

View on GitHub (pinned to e1c734241f)

Solutions

  1. Verify network access to the registry and fix proxy/TLS settings (https_proxy, JVM truststore).
  2. Correct the quarkus.registry configuration to a valid registry descriptor URL.
  3. Retry when the registry outage ends; check the registry service status.
  4. Use a locally cached/mirrored registry for offline builds.

Example fix

// before
quarkus.registry=https://internal-registry.invalid/quarkus
// after (or a reachable mirror)
quarkus.registry=https://registry.quarkus.io
Defensive patterns

Strategy: retry

Validate before calling

// Probe the registry before initializing the project
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder(URI.create(registryUrl)).GET().build();
HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());
if (resp.statusCode() != 200) throw new IllegalStateException("Registry unreachable: " + resp.statusCode());

Try / catch

try {
    project = QuarkusProjectHelper.getCachedProject(projectDir, log);
} catch (RuntimeException e) {
    if ("Failed to initialize the Quarkus Maven extension manager".equals(e.getMessage())) {
        // inspect RegistryResolutionException cause: proxy/TLS/URL; fix and retry with backoff
    } else throw e;
}

Prevention

When it happens

Trigger: Any devtools API/command path that calls getCachedProject on a Maven project when registry resolution fails — unreachable registry URL, invalid registry descriptor, or TLS/proxy errors inside MavenProjectBuildFile.getProject.

Common situations: Offline or firewalled environments; corporate proxy blocking registry.quarkus.io; misconfigured quarkus.registry property; self-signed certificates; registry outage.

Related errors


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