quarkusio/quarkus · error · GradleException

Failed to collect Quarkus project information

Error message

Failed to collect Quarkus project information

What it means

QuarkusInfo.logInfo builds a ProjectInfo invoker over the Quarkus project and executes it to collect and log per-module project/application-model information. Any Exception thrown during execution is wrapped in this GradleException, meaning Quarkus could not gather the project model (module structure, app model) needed to print dev-mode info.

Source

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

    }

    public QuarkusInfo() {
        super("Log Quarkus-specific project information, such as imported Quarkus platform BOMs, Quarkus extensions found among the project dependencies, etc.");
    }

    @TaskAction
    public void logInfo() {
        getLogger().warn(getName() + " is experimental, its options and output might change in future versions");

        final QuarkusProject quarkusProject = getQuarkusProject(false);
        final QuarkusCommandOutcome outcome;
        final ProjectInfo invoker = new ProjectInfo(quarkusProject);
        invoker.perModule(perModule);
        invoker.appModel(extension().getApplicationModel());
        try {
            outcome = invoker.execute();
        } catch (Exception e) {
            throw new GradleException("Failed to collect Quarkus project information", e);
        }
    }
}

View on GitHub (pinned to e1c734241f)

Solutions

  1. Run ./gradlew quarkusDev --stacktrace to see the root cause wrapped by this exception.
  2. Run ./gradlew build (or at least ./gradlew classes) first to verify the project configures successfully.
  3. Refresh dependencies and clean caches if model resolution fails: --refresh-dependencies.
  4. Verify Gradle version compatibility with your Quarkus Gradle plugin version.
  5. Simplify/isolate the failing module to identify a misconfigured build script.

Example fix

// before: opaque failure
./gradlew quarkusDev
// after: surface root cause
./gradlew quarkusDev --stacktrace --info
Defensive patterns

Strategy: try-catch

Validate before calling

// Verify the project configures and the model resolves before dev tasks
./gradlew help classes --stacktrace
// a failure here indicates the same ProjectInfo execution would fail

Try / catch

try {
  ./gradlew quarkusDev
} catch (GradleException e) {
  if (e.getMessage().equals("Failed to collect Quarkus project information")) {
    // rerun with --stacktrace to act on the wrapped cause (config error, cache, model resolution)
  }
}

Prevention

When it happens

Trigger: Running a dev-mode/listing Gradle task that invokes QuarkusInfo.logInfo when ProjectInfo.execute() throws — e.g. invalid project model, unreadable build scripts, or failure resolving the application model via extension().getApplicationModel().

Common situations: Broken or misconfigured multi-module Gradle builds; a custom Gradle plugin/script throwing during configuration; corrupted Gradle caches preventing application model resolution; incompatible Quarkus Gradle plugin and Gradle version combinations.

Related errors


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