quarkusio/quarkus · error · MojoExecutionException

Failed to initialize Maven artifact resolver

Error message

Failed to initialize Maven artifact resolver

What it means

The create-extension Mojo wraps any exception thrown while constructing the MavenArtifactResolver (used to download BOMs, parent POMs and templates) into a MojoExecutionException. It means the Maven build could not set up artifact resolution before generating the extension skeleton. The original cause (repository connectivity, settings.xml problems, etc.) is attached as the cause.

Source

Thrown at devtools/maven/src/main/java/io/quarkus/maven/CreateExtensionMojo.java:273

            }
        }

        promptValues();

        autoComputeQuarkiverseExtensionId();

        try {
            final MavenArtifactResolver resolver = MavenArtifactResolver.builder()
                    .setRepositorySystem(repoSystem)
                    .setRepositorySystemSession(
                            getLog().isDebugEnabled() ? repoSession : MojoUtils.muteTransferListener(repoSession))
                    .setRemoteRepositories(repos)
                    .setRemoteRepositoryManager(remoteRepoManager)
                    .build();
            // there should be a better way to pass the resolver
            QuarkusProjectHelper.setArtifactResolver(resolver);
        } catch (Exception e) {
            throw new MojoExecutionException("Failed to initialize Maven artifact resolver", e);
        }

        final CreateExtension createExtension = new CreateExtension(basedir.toPath())
                .extensionId(extensionId)
                .extensionName(extensionName)
                .extensionDescription(extensionDescription)
                .groupId(groupId)
                .version(version)
                .packageName(packageName)
                .namespaceId(namespaceId)
                .namespaceName(namespaceName)
                .quarkusVersion(quarkusVersion)
                .quarkusBomGroupId(quarkusBomGroupId)
                .quarkusBomArtifactId(quarkusBomArtifactId)
                .quarkusBomVersion(quarkusBomVersion)
                .javaVersion(javaVersion)
                .withCodestart(withCodestart)
                .withoutUnitTest(withoutTests || withoutUnitTest)

View on GitHub (pinned to e1c734241f)

Solutions

  1. Run mvn -X quarkus:create-extension and inspect the 'Caused by' of this exception for the root resolver failure
  2. Validate ~/.m2/settings.xml (mirrors, proxies, localRepository) — fix invalid entries
  3. Check network/proxy access to Maven Central and any custom repositories
  4. Clear a corrupted local repository cache entry (delete the failing artifact dir under ~/.m2/repository and retry)

Example fix

// before
mvn quarkus:create-extension  // fails: Failed to initialize Maven artifact resolver
// after
mvn -X quarkus:create-extension  // inspect cause, fix settings.xml mirror/proxy, rerun
Defensive patterns

Strategy: validation

Validate before calling

// before running: verify Maven settings and repo reachability
java.nio.file.Path settings = java.nio.file.Path.of(System.getProperty("user.home"), ".m2", "settings.xml");
if (java.nio.file.Files.exists(settings) && !java.nio.file.Files.isReadable(settings))
    throw new IllegalStateException("settings.xml unreadable");
Process p = new ProcessBuilder("curl", "-sfI", "https://repo.maven.apache.org/maven2/").start();
if (p.waitFor() != 0) throw new IllegalStateException("Maven Central unreachable");

Try / catch

try {
    mvn quarkus:create-extension ...
} catch (MojoExecutionException e) {
    if (e.getMessage().contains("Failed to initialize Maven artifact resolver")) {
        Throwable root = e; while (root.getCause() != null) root = root.getCause();
        logger.error("Resolver init failed: {}", root.getMessage()); // fix settings/network, then retry
    }
}

Prevention

When it happens

Trigger: MavenArtifactResolver.builder()...build() in CreateExtensionMojo.execute() throws (any Exception) — e.g. repoSystem/session misconfiguration, invalid remote repositories, or failure reading Maven settings while initializing the resolver for extension generation.

Common situations: Broken or unreachable <mirrors>/<repositories> in settings.xml, invalid local repository path, malformed ~/.m2/settings.xml, corporate proxy blocking repo.maven.apache.org during quarkus:create-extension.

Related errors


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