{"record":{"id":"ca047729daa601f6","repo":"quarkusio/quarkus","slug":"failed-to-initialize-maven-artifact-resolver","errorCode":null,"errorMessage":"Failed to initialize Maven artifact resolver","messagePattern":"Failed to initialize Maven artifact resolver","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/CreateExtensionMojo.java","lineNumber":273,"sourceCode":"            }\n        }\n\n        promptValues();\n\n        autoComputeQuarkiverseExtensionId();\n\n        try {\n            final MavenArtifactResolver resolver = MavenArtifactResolver.builder()\n                    .setRepositorySystem(repoSystem)\n                    .setRepositorySystemSession(\n                            getLog().isDebugEnabled() ? repoSession : MojoUtils.muteTransferListener(repoSession))\n                    .setRemoteRepositories(repos)\n                    .setRemoteRepositoryManager(remoteRepoManager)\n                    .build();\n            // there should be a better way to pass the resolver\n            QuarkusProjectHelper.setArtifactResolver(resolver);\n        } catch (Exception e) {\n            throw new MojoExecutionException(\"Failed to initialize Maven artifact resolver\", e);\n        }\n\n        final CreateExtension createExtension = new CreateExtension(basedir.toPath())\n                .extensionId(extensionId)\n                .extensionName(extensionName)\n                .extensionDescription(extensionDescription)\n                .groupId(groupId)\n                .version(version)\n                .packageName(packageName)\n                .namespaceId(namespaceId)\n                .namespaceName(namespaceName)\n                .quarkusVersion(quarkusVersion)\n                .quarkusBomGroupId(quarkusBomGroupId)\n                .quarkusBomArtifactId(quarkusBomArtifactId)\n                .quarkusBomVersion(quarkusBomVersion)\n                .javaVersion(javaVersion)\n                .withCodestart(withCodestart)\n                .withoutUnitTest(withoutTests || withoutUnitTest)","sourceCodeStart":255,"sourceCodeEnd":291,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/CreateExtensionMojo.java#L255-L291","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Run mvn -X quarkus:create-extension and inspect the 'Caused by' of this exception for the root resolver failure","Validate ~/.m2/settings.xml (mirrors, proxies, localRepository) — fix invalid entries","Check network/proxy access to Maven Central and any custom repositories","Clear a corrupted local repository cache entry (delete the failing artifact dir under ~/.m2/repository and retry)"],"exampleFix":"// before\nmvn quarkus:create-extension  // fails: Failed to initialize Maven artifact resolver\n// after\nmvn -X quarkus:create-extension  // inspect cause, fix settings.xml mirror/proxy, rerun","handlingStrategy":"validation","validationCode":"// before running: verify Maven settings and repo reachability\njava.nio.file.Path settings = java.nio.file.Path.of(System.getProperty(\"user.home\"), \".m2\", \"settings.xml\");\nif (java.nio.file.Files.exists(settings) && !java.nio.file.Files.isReadable(settings))\n    throw new IllegalStateException(\"settings.xml unreadable\");\nProcess p = new ProcessBuilder(\"curl\", \"-sfI\", \"https://repo.maven.apache.org/maven2/\").start();\nif (p.waitFor() != 0) throw new IllegalStateException(\"Maven Central unreachable\");","typeGuard":null,"tryCatchPattern":"try {\n    mvn quarkus:create-extension ...\n} catch (MojoExecutionException e) {\n    if (e.getMessage().contains(\"Failed to initialize Maven artifact resolver\")) {\n        Throwable root = e; while (root.getCause() != null) root = root.getCause();\n        logger.error(\"Resolver init failed: {}\", root.getMessage()); // fix settings/network, then retry\n    }\n}","preventionTips":["Keep ~/.m2/settings.xml minimal and validated (mvn help:effective-settings)","Pre-verify repository connectivity before scaffolding","Use mvn -X early to surface the root cause of resolver failures"],"tags":["maven","artifact-resolver","build-tool"],"backgroundTag":"maven-artifact-resolution-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}