{"record":{"id":"f0a2869996f10a89","repo":"quarkusio/quarkus","slug":"failed-to-initialize-maven-artifact-resolver-f0a286","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/CreateProjectMojo.java","lineNumber":242,"sourceCode":"        // version may not be supported.\n        mavenVersionEnforcer.ensureMavenVersion(getLog(), session);\n        try {\n            Files.createDirectories(outputDirectory.toPath());\n        } catch (IOException e) {\n            throw new MojoExecutionException(\"Could not create directory \" + outputDirectory, e);\n        }\n\n        final MavenArtifactResolver mvn;\n        try {\n            mvn = MavenArtifactResolver.builder()\n                    .setRepositorySystem(repoSystem)\n                    .setRepositorySystemSession(\n                            getLog().isDebugEnabled() ? repoSession : MojoUtils.muteTransferListener(repoSession))\n                    .setRemoteRepositories(repos)\n                    .setRemoteRepositoryManager(remoteRepoManager)\n                    .build();\n        } catch (Exception e) {\n            throw new MojoExecutionException(\"Failed to initialize Maven artifact resolver\", e);\n        }\n\n        final MojoMessageWriter log = new MojoMessageWriter(getLog());\n        ExtensionCatalogResolver catalogResolver = getExtensionCatalogResolver(mvn, log);\n        ExtensionCatalog catalog = resolveExtensionsCatalog(this, bomGroupId, bomArtifactId, bomVersion, stream,\n                catalogResolver, mvn, log);\n\n        File projectRoot = outputDirectory;\n        File pom = project != null ? project.getFile() : null;\n        Model parentPomModel = null;\n\n        boolean containsAtLeastOneGradleFile = false;\n        for (String gradleFile : Arrays.asList(\"build.gradle\", \"settings.gradle\", \"build.gradle.kts\", \"settings.gradle.kts\")) {\n            containsAtLeastOneGradleFile |= new File(projectRoot, gradleFile).isFile();\n        }\n\n        BuildTool buildToolEnum = BuildTool.findTool(buildTool);\n        if (buildToolEnum == null) {","sourceCodeStart":224,"sourceCodeEnd":260,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/CreateProjectMojo.java#L224-L260","documentation":"CreateProjectMojo (quarkus-maven-plugin create goal) builds a MavenArtifactResolver from the current Maven session's repository system, session, remote repositories, and repository manager. If any of these components is missing, misconfigured, or the resolver builder fails for any reason, the mojo wraps the exception in a MojoExecutionException with this message. It indicates the plugin could not set up local/remote artifact resolution, so project generation cannot proceed.","triggerScenarios":"Running `mvn io.quarkus:quarkus-maven-plugin:create` where the RepositorySystem/RepositorySystemSession is not injectable or configured, remote repositories (`repos`) are empty or malformed, or Maven artifact resolver internals throw during builder().build().","commonSituations":"Broken or very old Maven installations, corrupted local repository settings, custom settings.xml with invalid mirror/repository definitions, or plugin running in a stripped-down Maven environment where resolver components are unavailable.","solutions":["Run `mvn -X` (debug) to see the underlying cause wrapped in this exception","Check ~/.m2/settings.xml for invalid mirrors, proxies, or localRepository paths","Verify Maven version meets Quarkus requirements (mvn -version)","Update the quarkus-maven-plugin to the latest patch release","Run with a clean local repo backup (e.g. mv ~/.m2/repository temporarily aside) to rule out repository corruption"],"exampleFix":"// before: custom settings.xml with a broken mirror\n<mirror><id>internal</id><url>http://bad-host/repo</url><mirrorOf>*</mirrorOf></mirror>\n// after: valid mirror or removed mirror block\n<mirror><id>central</id><url>https://repo.maven.apache.org/maven2</url><mirrorOf>central</mirrorOf></mirror>","handlingStrategy":"try-catch","validationCode":"// pre-check Maven env before invoking the create goal\nmvn -version && test -w ~/.m2 && mvn help:effective-settings -q","typeGuard":null,"tryCatchPattern":"try {\n    invokeCreateGoal();\n} catch (MojoExecutionException e) {\n    if (e.getMessage().contains(\"Failed to initialize Maven artifact resolver\")) {\n        logCause(e.getCause()); // inspect wrapped resolver error, fix settings.xml/repo config\n    }\n}","preventionTips":["Keep Maven updated to a Quarkus-supported version","Validate ~/.m2/settings.xml with `mvn help:effective-settings`","Avoid broken mirrors/proxies in settings.xml","Run with -X once to learn the wrapped cause"],"tags":["maven","artifact-resolver","project-scaffolding"],"backgroundTag":"maven-artifact-resolution-failure","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"}