quarkusio/quarkus · error · MojoExecutionException
The deployment artifact ${rootDeploymentGact} depends on the
Error message
The deployment artifact ${rootDeploymentGact} depends on the following Quarkus extension deployment artifacts whose corresponding runtime artifacts were not found among the dependencies of ${project.getArtifact()}: What it means
After collecting the deployment artifact's dependency tree, the mojo verifies every Quarkus deployment dependency has a matching runtime dependency among the project's runtime dependencies. If some deployment deps lack runtime counterparts, it builds this detailed error listing them (via highlightInTree) and fails.
Source
Thrown at independent-projects/extension-maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java:983
if (!unexpectedDeploymentDeps.isEmpty()) {
if (buf.length() > 0) {
buf.append(System.lineSeparator());
}
buf.append("The deployment artifact ").append(rootDeploymentGact).append(
" depends on the following Quarkus extension deployment artifacts whose corresponding runtime artifacts were not found among the dependencies of ")
.append(project.getArtifact()).append(":");
for (ArtifactKey a : unexpectedDeploymentDeps) {
buf.append(' ').append(a);
}
log.error("The deployment artifact " + rootDeploymentGact
+ " depends on the following Quarkus extension deployment artifacts whose corresponding runtime artifacts were not found among the dependencies of "
+ project.getArtifact() + ":");
highlightInTree(deploymentNode, unexpectedDeploymentDeps);
}
}
throw new MojoExecutionException(buf.toString());
}
}
private DependencyResult resolveRuntimeDeps() throws MojoExecutionException {
if (runtimeDeps == null) {
try {
runtimeDeps = repoSystem.resolveDependencies(repoSession,
new DependencyRequest().setCollectRequest(newCollectRuntimeDepsRequest()));
} catch (Exception e) {
throw new MojoExecutionException("Failed to resolve dependencies of " + project.getArtifact(), e);
}
}
return runtimeDeps;
}
private void highlightInTree(DependencyNode node, Collection<ArtifactKey> keys) {
highlightInTree(0, node, keys, new HashSet<>(), new StringBuilder(), new ArrayList<>());View on GitHub (pinned to e1c734241f)
Solutions
- Add the missing runtime dependencies (e.g. io.quarkus:quarkus-xyz) matching each listed deployment artifact
- Keep deployment and runtime dependency lists in sync when adding cross-extension dependencies
- Use quarkus-maven-plugin extension scaffolding which generates matched pairs
- Run mvn dependency:tree on both runtime and deployment modules to compare
Example fix
<!-- before: deployment-only dep --> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-xyz-deployment</artifactId> </dependency> <!-- after: add runtime counterpart --> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-xyz</artifactId> </dependency> <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-xyz-deployment</artifactId> </dependency>
Defensive patterns
Strategy: validation
Validate before calling
mvn dependency:tree -pl runtime diff <(mvn -q dependency:tree -pl runtime) <(mvn -q dependency:tree -pl deployment)
Prevention
- Always add runtime+deployment pairs together
- Audit dependency:tree on both modules in CI
- Follow quarkus extension scaffolding conventions
When it happens
Trigger: The deployment module of the extension depends on io.quarkus:<something>-deployment but the runtime module/pom does not declare the corresponding io.quarkus:<something> runtime artifact.
Common situations: Adding a dependency on another extension's deployment artifact without adding its runtime artifact; version drift after refactoring; manually edited poms missing runtime counterpart.
Related errors
- Failed to collect dependencies for ${artifact}
- Unable to determine groupId and artifactId of the jar that c
- Unable to determine groupId and artifactId of the extension
- Unable to determine groupId and artifactId of the jar that c
- Unable to parse pom file: ${pom}
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/2fc0912f2e33ee02.
Report an issue: GitHub.