{"record":{"id":"12813f94efd0adb0","repo":"quarkusio/quarkus","slug":"dependencies-belong-to-different-platform-strea","errorCode":null,"errorMessage":"${dependencies} belong to different platform streams ${streams} while only one stream per platform is allowed.","messagePattern":"(.+?) belong to different platform streams (.+?) while only one stream per platform is allowed\\.","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"independent-projects/bootstrap/app-model/src/main/java/io/quarkus/bootstrap/model/PlatformInfo.java","lineNumber":51,"sourceCode":"        return streams.get(0).isAligned(importedBoms);\n    }\n\n    List<List<String>> getPossibleAlignments(Collection<ArtifactCoords> importedPlatformBoms) {\n        if (streams.size() > 1) {\n            final StringBuilder buf = new StringBuilder();\n            buf.append(\"Imported BOMs \");\n            final Iterator<ArtifactCoords> it = importedPlatformBoms.iterator();\n            if (it.hasNext()) {\n                buf.append(it.next());\n                while (it.hasNext()) {\n                    buf.append(\", \").append(it.next());\n                }\n            }\n            buf.append(\" belong to different platform streams \").append(streams.get(0));\n            for (int i = 1; i < streams.size(); ++i) {\n                buf.append(\", \").append(streams.get(i));\n            }\n            throw new RuntimeException(buf.append(\" while only one stream per platform is allowed.\").toString());\n        }\n        return streams.get(0).getPossibleAlignemnts(importedPlatformBoms);\n    }\n\n    PlatformStreamInfo getOrCreateStream(String stream) {\n        PlatformStreamInfo s = getStream(stream);\n        if (s == null) {\n            s = new PlatformStreamInfo(stream);\n            streams.add(s);\n        }\n        return s;\n    }\n\n    Collection<PlatformStreamInfo> getStreams() {\n        return streams;\n    }\n\n    PlatformStreamInfo getStream(String stream) {","sourceCodeStart":33,"sourceCodeEnd":69,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/independent-projects/bootstrap/app-model/src/main/java/io/quarkus/bootstrap/model/PlatformInfo.java#L33-L69","documentation":"PlatformInfo.getPossibleAlignments() collects the set of platform streams referenced by the imported platform BOMs and asserts they all belong to one stream per platform. If the dependency list references two different streams (e.g. an old and new Quarkus stream BOM mixed together), it throws a RuntimeException describing the conflicting streams. Only one stream per platform is allowed in an application model.","triggerScenarios":"Calling getPossibleAlignments() on a PlatformInfo whose importedPlatformBoms contain BOMs from more than one stream of the same platform, e.g. io.quarkus.platform:quarkus-bom:3.2.0.Final together with quarkus-bom:3.5.0.Final.","commonSituations":"Mixing Quarkus BOM versions in dependencyManagement (one managed by a parent POM, another pinned explicitly); stale imports after a Quarkus upgrade where one platform BOM wasn't updated; transitive platform imports from different Quarkus versions.","solutions":["Align all imported platform BOMs to the same platform stream/version","Remove or upgrade the stale platform BOM reference (often in a parent POM or dependencyManagement)","Run the Quarkus update tooling / mvn versions:display-dependency-updates to find the mismatched BOM"],"exampleFix":"<!-- before -->\n<dependency>\n  <groupId>io.quarkus.platform</groupId>\n  <artifactId>quarkus-bom</artifactId>\n  <version>3.2.0.Final</version>\n</dependency>\n<dependency>\n  <groupId>io.quarkus.platform</groupId>\n  <artifactId>quarkus-amazon-services-bom</artifactId>\n  <version>3.5.0.Final</version>\n</dependency>\n<!-- after: both at the same stream -->\n<dependency>\n  <groupId>io.quarkus.platform</groupId>\n  <artifactId>quarkus-bom</artifactId>\n  <version>3.5.0.Final</version>\n</dependency>\n<dependency>\n  <groupId>io.quarkus.platform</groupId>\n  <artifactId>quarkus-amazon-services-bom</artifactId>\n  <version>3.5.0.Final</version>\n</dependency>","handlingStrategy":"validation","validationCode":"Set<String> streams = importedBoms.stream()\n    .map(b -> b.getVersion())\n    .collect(Collectors.toSet());\nif (streams.size() > 1) {\n    throw new IllegalStateException(\"Multiple platform streams in use: \" + streams);\n}","typeGuard":null,"tryCatchPattern":"try {\n    var alignments = platformInfo.getPossibleAlignments(importedPlatformBoms);\n} catch (RuntimeException e) {\n    throw new IllegalStateException(\"Mixed platform streams detected: \" + e.getMessage(), e);\n}","preventionTips":["Import all platform BOMs from the same Quarkus release train","Let quarkus-maven-plugin update manage BOM versions together","Avoid pinning individual platform BOM versions in dependencyManagement"],"tags":["platform-imports","dependency-conflict","version-mismatch"],"backgroundTag":"mixed-platform-streams","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"}