{"record":{"id":"60820fdd91eec65b","repo":"quarkusio/quarkus","slug":"failed-to-initialize-quarkus-bootstrap-maven-resol","errorCode":null,"errorMessage":"Failed to initialize Quarkus bootstrap Maven resolver","messagePattern":"Failed to initialize Quarkus bootstrap Maven resolver","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/jbang/JBangBuilderImpl.java","lineNumber":54,"sourceCode":"            boolean nativeImage) {\n        final MavenArtifactResolver quarkusResolver;\n        try {\n            final BootstrapMavenContext mvnCtx = new BootstrapMavenContext(BootstrapMavenContext.config()\n                    .setCurrentProject(pomFile.getParent().toString()));\n            final List<RemoteRepository> remoteRepos = new ArrayList<>(mvnCtx.getRemoteRepositories());\n\n            repositories.forEach(repo -> {\n                remoteRepos.add(new RemoteRepository.Builder(repo.getKey(), \"default\", repo.getValue()).build());\n            });\n\n            quarkusResolver = MavenArtifactResolver.builder()\n                    .setRepositorySystem(mvnCtx.getRepositorySystem())\n                    .setRepositorySystemSession(mvnCtx.getRepositorySystemSession())\n                    .setRemoteRepositoryManager(mvnCtx.getRemoteRepositoryManager())\n                    .setRemoteRepositories(remoteRepos)\n                    .build();\n        } catch (BootstrapMavenException e) {\n            throw new IllegalStateException(\"Failed to initialize Quarkus bootstrap Maven resolver\", e);\n        }\n\n        try {\n            Path target = Files.createTempDirectory(\"quarkus-jbang\");\n            final ResolvedArtifactDependency appArtifact = new ResolvedArtifactDependency(\"dev.jbang.user\", \"quarkus\", null,\n                    \"jar\", \"999-SNAPSHOT\", appClasses);\n            final QuarkusBootstrap.Builder builder = QuarkusBootstrap.builder()\n                    .setBaseClassLoader(JBangBuilderImpl.class.getClassLoader())\n                    .setMavenArtifactResolver(quarkusResolver)\n                    .setProjectRoot(pomFile.getParent())\n                    .setTargetDirectory(target)\n                    .setManagingProject(new GACTV(\"io.quarkus\", \"quarkus-bom\", \"\", \"pom\", getQuarkusVersion()))\n                    .setForcedDependencies(dependencies.stream().map(s -> {\n                        String[] parts = s.getKey().split(\":\");\n                        // The format of maven coordinate used in what jbang calls `canonical` form.\n                        // The form is described here: https://github.com/jbangdev/jbang/blob/main/src/main/java/dev/jbang/dependencies/MavenCoordinate.java#L118\n                        // Despite the fact that is non standard it's still used for compatibility reasons by the IntegrationManager:\n                        // https://github.com/jbangdev/jbang/blob/main/src/main/java/dev/jbang/spi/IntegrationManager.java#L73","sourceCodeStart":36,"sourceCodeEnd":72,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/independent-projects/bootstrap/core/src/main/java/io/quarkus/bootstrap/jbang/JBangBuilderImpl.java#L36-L72","documentation":"JBangBuilderImpl.postBuild() initializes the bootstrap Maven resolver (remote repositories, repository system session) via the bootstrap Maven context. If BootstrapMavenException is thrown during that initialization it is rethrown as IllegalStateException(\"Failed to initialize Quarkus bootstrap Maven resolver\").","triggerScenarios":"postBuild() invoked when the underlying Maven repository system cannot be created or configured — typically failures reading settings.xml/pom model, bad repository definitions, or resolver wiring errors.","commonSituations":"Broken ~/.m2/settings.xml (invalid XML, bad mirror URLs); unreachable or misconfigured remote repositories; missing local repository directory permissions; running JBang packaging in an environment without proper Maven configuration.","solutions":["Run with the cause's stack trace and fix the underlying Maven configuration problem (usually settings.xml or repository URL)","Validate ~/.m2/settings.xml and any project settings with 'mvn help:effective-settings'","Check network/proxy access to the configured remote repositories","Ensure the local Maven repository (~/.m2/repository) is writable"],"exampleFix":"// before (broken settings.xml)\n<mirror><url>htp:/bad-url</url></mirror>\n// after\n<mirror><id>central</id><url>https://repo.maven.apache.org/maven2</url></mirror>","handlingStrategy":"try-catch","validationCode":"Process p = new ProcessBuilder(\"mvn\", \"help:effective-settings\").start();\nif (p.waitFor() != 0) throw new IllegalStateException(\"Invalid Maven settings — fix ~/.m2/settings.xml first\");","typeGuard":null,"tryCatchPattern":"try {\n    builder.postBuild();\n} catch (IllegalStateException e) {\n    if (e.getMessage().startsWith(\"Failed to initialize Quarkus bootstrap Maven resolver\")) {\n        // inspect e.getCause() (BootstrapMavenException) for settings/repo problem\n    }\n}","preventionTips":["Keep ~/.m2/settings.xml valid and mirrors reachable","Test Maven connectivity (mvn help:evaluate) before running JBang packaging","Ensure the local repository is writable and proxies are configured"],"tags":["maven","bootstrap","jbang","configuration"],"backgroundTag":"maven-resolver-init-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"}