quarkusio/quarkus · error · RuntimeException

No Quarkus platforms found in the project

Error message

No Quarkus platforms found in the project

What it means

importedPlatforms() resolves the imported BOMs and builds a list of platform ArtifactCoords. Even when BOMs exist, if none of them resolve to an actual Quarkus platform (with a JSON descriptor), it throws RuntimeException("No Quarkus platforms found in the project"). This means BOMs are present but none is a recognized Quarkus platform.

Source

Thrown at devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusPlatformTask.java:103

        final Configuration boms = project.getConfigurations()
                .detachedConfiguration(bomDeps.toArray(new org.gradle.api.artifacts.Dependency[0]));
        final Set<ArtifactKey> processedKeys = new HashSet<>(1);

        List<ArtifactCoords> platforms = new ArrayList<>();
        boms.getResolutionStrategy().eachDependency(d -> {
            if (!d.getTarget().getName().endsWith(BootstrapConstants.PLATFORM_DESCRIPTOR_ARTIFACT_ID_SUFFIX)
                    || !processedKeys.add(ArtifactKey.ga(d.getTarget().getGroup(), d.getTarget().getName()))) {
                return;
            }
            final ArtifactCoords platform = ArtifactCoords.of(d.getTarget().getGroup(), d.getTarget().getName(),
                    d.getTarget().getVersion(), "json", d.getTarget().getVersion());
            platforms.add(platform);
        });
        boms.getResolvedConfiguration();

        if (platforms.isEmpty()) {
            throw new RuntimeException("No Quarkus platforms found in the project");
        }
        return platforms;
    }

    protected String quarkusCoreVersion() {
        final List<Dependency> bomDeps = listProjectBoms(project);
        if (bomDeps.isEmpty()) {
            throw new GradleException("No platforms detected in the project");
        }

        final Configuration boms = project.getConfigurations()
                .detachedConfiguration(bomDeps.toArray(new org.gradle.api.artifacts.Dependency[0]));

        final AtomicReference<String> quarkusVersionRef = new AtomicReference<>();
        boms.getResolutionStrategy().eachDependency(d -> {
            if (quarkusVersionRef.get() == null && d.getTarget().getName().equals("quarkus-core")
                    && d.getTarget().getGroup().equals("io.quarkus")) {
                quarkusVersionRef.set(d.getTarget().getVersion());

View on GitHub (pinned to e1c734241f)

Solutions

  1. Add the Quarkus platform BOM (io.quarkus.platform:quarkus-bom:<version>) to the dependencies.
  2. Verify the imported platform version exists and publishes its catalog descriptor (check the Maven repository).
  3. Remove unrelated BOMs confusion by ensuring at least one io.quarkus.platform BOM is enforced.

Example fix

// before
dependencies {
    implementation enforcedPlatform("org.springframework.boot:spring-boot-bom:3.2.0")
}

// after
dependencies {
    implementation enforcedPlatform("io.quarkus.platform:quarkus-bom:3.15.1")
}
Defensive patterns

Strategy: validation

Validate before calling

// ensure at least one Quarkus platform BOM among imported BOMs
def quarkusBom = configurations.implementation.allDependencies.any {
    it.group == 'io.quarkus.platform' && it.artifactId?.startsWith('quarkus-bom')
}
assert quarkusBom : 'No Quarkus platform BOM imported'

Try / catch

try { resolve platforms } catch (RuntimeException e) { if (e.message.contains('No Quarkus platforms found')) { /* verify BOM coordinates/version */ } }

Prevention

When it happens

Trigger: listProjectBoms returns BOM dependencies, but after resolution none produce a platform entry — e.g. importing unrelated/non-Quarkus BOMs, or a BOM with an invalid/missing platform descriptor whose resolution yields nothing.

Common situations: Importing only third-party BOMs (Spring BOM, etc.) plus Quarkus extensions without a Quarkus platform BOM; using an old quarkus-bom artifact layout; version that doesn't publish the platform JSON descriptor.

Related errors


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/02a5ab8d3e64ee0e. Report an issue: GitHub.