{"record":{"id":"2b8a6435a058a66a","repo":"quarkusio/quarkus","slug":"multiple-platforms-were-matching-the-requested-pla","errorCode":null,"errorMessage":"Multiple platforms were matching the requested platform BOM coordinates ${bomGroupId}:${bomArtifactId}:${bomVersion}: - ${bom}","messagePattern":"Multiple platforms were matching the requested platform BOM coordinates (.+?):(.+?):(.+?): - (.+?)","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"devtools/maven/src/main/java/io/quarkus/maven/QuarkusProjectMojoBase.java","lineNumber":296,"sourceCode":"                    }\n                }\n            }\n        }\n        if (matches != null) {\n            StringWriter buf = new StringWriter();\n            buf.append(\"Multiple platforms were matching the requested platform BOM coordinates \");\n            buf.append(bomGroupId == null ? \"*\" : bomGroupId).append(':');\n            buf.append(bomArtifactId == null ? \"*\" : bomArtifactId).append(':');\n            buf.append(bomVersion == null ? \"*\" : bomVersion).append(\": \");\n            try (BufferedWriter writer = new BufferedWriter(buf)) {\n                for (ArtifactCoords bom : matches) {\n                    writer.newLine();\n                    writer.append(\"- \").append(bom.toString());\n                }\n            } catch (IOException e) {\n                //\n            }\n            throw new MojoExecutionException(buf.toString());\n        }\n        return platformBom;\n    }\n}\n","sourceCodeStart":278,"sourceCodeEnd":301,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/devtools/maven/src/main/java/io/quarkus/maven/QuarkusProjectMojoBase.java#L278-L301","documentation":"This MojoExecutionException is thrown by QuarkusProjectMojoBase.getSingleMatchingBom when the resolved platform catalog contains more than one platform BOM matching the requested (possibly partial) bomGroupId:bomArtifactId:bomVersion coordinates. Because the tooling cannot pick one deterministically, it lists all matching BOMs in the message and fails. It protects against silently choosing the wrong platform.","triggerScenarios":"Calling getSingleMatchingBom (from getImportedPlatforms) with null/partial BOM coordinates while the platform catalog resolves to multiple BOMs, e.g. specifying only a version (-DbomVersion=3.8.1) when the catalog holds both quarkus-bom and quarkus-universe-bom, or several matching members.","commonSituations":"Older platform catalogs containing multiple BOM artifacts (quarkus-bom, quarkus-universe-bom); user passing an incomplete coordinate prefix that matches several platform members; custom platform catalogs with multiple BOMs.","solutions":["Pass fully-qualified, unambiguous BOM coordinates: -DbomGroupId=io.quarkus.platform -DbomArtifactId=quarkus-bom -DbomVersion=<version>","Read the list of matching BOMs in the error message and pick one explicitly","Configure the coordinates in the plugin <configuration> block of the pom.xml instead of partial CLI flags","Regenerate/upgrade the project so it uses a current single-BOM platform catalog"],"exampleFix":"// before\nmvn quarkus:add-extension -Dextensions=\"rest\" -DbomVersion=3.8.1\n// after\nmvn quarkus:add-extension -Dextensions=\"rest\" -DbomGroupId=io.quarkus.platform -DbomArtifactId=quarkus-bom -DbomVersion=3.8.1","handlingStrategy":"validation","validationCode":"// Ensure all three BOM coordinates are specified before invoking the goal:\nassert System.getProperty(\"bomGroupId\") != null;\nassert System.getProperty(\"bomArtifactId\") != null;\nassert System.getProperty(\"bomVersion\") != null;","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always pass fully-qualified io.quarkus.platform:quarkus-bom:<version> coordinates","Avoid partial coordinates (e.g. version-only) against multi-BOM catalogs","Keep platform catalogs current to benefit from single-BOM layouts","Store coordinates in the pom plugin configuration instead of ad-hoc flags"],"tags":["maven","ambiguity","platform-bom","coordinates"],"backgroundTag":"ambiguous-platform-bom-coordinates","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-15T02:17:10.978Z"}