quarkusio/quarkus · error · GradleException

Quarkus Extension Dependency Verification Error. See logs be

Error message

Quarkus Extension Dependency Verification Error. See logs below

What it means

Thrown by ValidateExtensionTask.printValidationErrors after logging all dependency-verification problems found while validating a Quarkus extension build. It signals that the extension's runtime/deployment module artifact sets failed validation — most commonly deployment artifacts listed as dependencies of the runtime module or missing from the deployment module — and details are in the logged output above the exception.

Source

Thrown at devtools/gradle/gradle-extension-plugin/src/main/java/io/quarkus/extension/gradle/tasks/ValidateExtensionTask.java:147

            List<ArtifactKey> missingDeploymentArtifacts) {
        Logger log = getLogger();
        log.error("Quarkus Extension Dependency Verification Error");

        if (!invalidRuntimeArtifacts.isEmpty()) {
            log.error("The following deployment artifact(s) appear on the runtime classpath: ");
            for (ArtifactKey invalidRuntimeArtifact : invalidRuntimeArtifacts) {
                log.error("- " + invalidRuntimeArtifact);
            }
        }

        if (!missingDeploymentArtifacts.isEmpty()) {
            log.error("The following deployment artifact(s) were found to be missing in the deployment module: ");
            for (ArtifactKey missingDeploymentArtifact : missingDeploymentArtifacts) {
                log.error("- " + missingDeploymentArtifact);
            }
        }

        throw new GradleException("Quarkus Extension Dependency Verification Error. See logs below");
    }

    private static ArtifactKey toAppArtifactKey(ResolvedModuleVersion artifactId) {
        return ArtifactKey.ga(artifactId.getId().getGroup(), artifactId.getId().getName());
    }
}

View on GitHub (pinned to e1c734241f)

Solutions

  1. Read the log lines above the exception: add each listed missing deployment artifact as a deployment dependency in the deployment module (quarkus-<name>-deployment) build.gradle.
  2. Ensure every runtime dependency that requires one has a matching deployment artifact (group:artifact-deployment).
  3. Verify you did not accidentally declare deployment artifacts in the runtime module; keep runtime-only deps there.
  4. Re-run ./gradlew validateExtension after fixes until validation passes.

Example fix

// before: deployment module build.gradle missing a dep
dependencies { }
// after
dependencies {
  implementation project(':my-runtime')
  implementation 'io.quarkus:quarkus-arc-deployment'
}/
Defensive patterns

Strategy: validation

Validate before calling

// before validateExtension, check every runtime dep has a deployment counterpart
def runtimeDeps = project.configurations.getByName('implementation').dependencies
runtimeDeps.findAll { it.group?.startsWith('io.quarkus') && !it.name.endsWith('-deployment') }.each {
  def deployName = "${it.name}-deployment"
  logger.warn("Ensure deployment artifact ${it.group}:${deployName} is declared in the deployment module")
}

Prevention

When it happens

Trigger: validateExtension runs printValidationErrors after collecting problems such as missingDeploymentArtifacts non-empty (deployment artifacts expected in the deployment module are absent) or other mismatched runtime/deployment dependency groupings.

Common situations: Adding a runtime dependency without the corresponding deployment artifact in the deployment module's build.gradle, refactoring an extension so a deployment dependency was dropped, or copying dependency blocks between runtime and deployment modules incorrectly.

Related errors


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