{"record":{"id":"3eb6390d80a720a4","repo":"quarkusio/quarkus","slug":"failed-to-initialize-maven-artifact-resolver-3eb639","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/QuarkusProjectStateMojoBase.java","lineNumber":136,"sourceCode":"    @Override\n    protected MavenArtifactResolver catalogArtifactResolver() throws MojoExecutionException {\n        if (getLog().isDebugEnabled()) {\n            return artifactResolver();\n        } else {\n            try {\n                final MavenArtifactResolver baseResolver = artifactResolver();\n                final DefaultRepositorySystemSession session = new DefaultRepositorySystemSession(\n                        baseResolver.getSession());\n                session.setTransferListener(new QuietMavenTransferListener());\n                final BootstrapMavenContext ctx = new BootstrapMavenContext(BootstrapMavenContext.config()\n                        .setRepositorySystem(baseResolver.getSystem())\n                        .setRemoteRepositoryManager(baseResolver.getRemoteRepositoryManager())\n                        .setRemoteRepositories(baseResolver.getRepositories())\n                        .setWorkspaceDiscovery(false)\n                        .setRepositorySystemSession(session));\n                return new MavenArtifactResolver(ctx);\n            } catch (BootstrapMavenException e) {\n                throw new MojoExecutionException(\"Failed to initialize Maven artifact resolver\", e);\n            }\n        }\n    }\n\n    @Override\n    protected MavenArtifactResolver initArtifactResolver() throws MojoExecutionException {\n        return workspaceProvider.createArtifactResolver(BootstrapMavenContext.config()\n                .setUserSettings(session.getRequest().getUserSettingsFile())\n                .setRemoteRepositoryManager(workspaceProvider.getRemoteRepositoryManager())\n                // The system needs to be initialized with the bootstrap model builder to properly interpolate system properties set on the command line\n                // e.g. -Dquarkus.platform.version=xxx\n                //.setRepositorySystem(workspaceProvider.getRepositorySystem())\n                // The session should be initialized with the loaded workspace\n                //.setRepositorySystemSession(repoSession)\n                .setRemoteRepositories(repos)\n                // To support multi-module projects that haven't been installed\n                .setPreferPomsFromWorkspace(true)\n                // to support profiles","sourceCodeStart":118,"sourceCodeEnd":154,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/QuarkusProjectStateMojoBase.java#L118-L154","documentation":"This MojoExecutionException wraps a BootstrapMavenException thrown while constructing a MavenArtifactResolver in QuarkusProjectStateMojoBase.catalogArtifactResolver. The resolver initializes the Maven repository system session for catalog lookups; failures typically come from invalid settings.xml, bad repository configuration, or bootstrap context problems. The message indicates tooling-level Maven bootstrap failure, not a missing artifact.","triggerScenarios":"Calling catalogArtifactResolver (lazily, memoized) when MavenArtifactResolver's MavenContext cannot be built — malformed ~/.m2/settings.xml, unparseable repository config, missing local repository path, or invalid remote repository definitions.","commonSituations":"Corrupted or hand-edited ~/.m2/settings.xml; invalid XML from a corporate mirror template; HOME not set in CI so settings.xml can't be located; conflicting localRepository configuration.","solutions":["Validate/repair ~/.m2/settings.xml (run mvn help:effective-settings to expose XML problems)","Ensure HOME and the local repository path (localRepository) exist and are writable","Check the caused-by BootstrapMavenException for the specific configuration element that failed to parse","Simplify/remove custom mirrors and profiles in settings.xml, then re-run the goal"],"exampleFix":"// before (broken settings.xml)\n<mirror><id>corp</id><url>htp://bad-url</url>...\n// after\n<mirror><id>corp</id><url>https://repo.corp.example/maven</url><mirrorOf>central</mirrorOf></mirror>","handlingStrategy":"try-catch","validationCode":"// Validate settings.xml parses before running tooling:\n// mvn help:effective-settings -q >/dev/null && echo OK","typeGuard":null,"tryCatchPattern":"try {\n    MavenArtifactResolver resolver = new MavenArtifactResolver(ctx);\n} catch (BootstrapMavenException e) {\n    // log e; validate settings.xml, HOME, and localRepository, then retry\n}","preventionTips":["Keep ~/.m2/settings.xml valid XML; test with help:effective-settings","Ensure HOME and localRepository paths exist and are writable in CI","Avoid hand-editing settings.xml without validating afterwards","Version-control a known-good settings template for CI"],"tags":["maven","resolver-initialization","settings-xml","configuration"],"backgroundTag":"maven-resolver-bootstrap-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"}