quarkusio/quarkus · error · UnresolvableModelException

The requested dependency version range '%s' does not specify

Error message

The requested dependency version range '%s' does not specify an upper bound

What it means

UnresolvableModelException from BootstrapModelResolver.resolveModel(Dependency): the dependency's version range has no upper bound, so the resolver cannot determine which version is 'highest' and refuses to resolve the model rather than picking an arbitrary future version.

Source

Thrown at independent-projects/bootstrap/maven-resolver/src/main/java/io/quarkus/bootstrap/resolver/maven/BootstrapModelResolver.java:220

            final VersionRangeRequest versionRangeRequest = new VersionRangeRequest(artifact, repositories, context);
            versionRangeRequest.setTrace(trace);

            final VersionRangeResult versionRangeResult = versionRangeResolver.resolveVersionRange(session,
                    versionRangeRequest);

            if (versionRangeResult.getHighestVersion() == null) {
                throw new UnresolvableModelException(
                        String.format("No versions matched the requested dependency version range '%s'",
                                dependency.getVersion()),
                        dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion());
            }

            if (versionRangeResult.getVersionConstraint() != null
                    && versionRangeResult.getVersionConstraint().getRange() != null
                    && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) {
                // Message below is checked for in the MNG-4463 core IT.
                throw new UnresolvableModelException(
                        String.format("The requested dependency version range '%s' does not specify an upper bound",
                                dependency.getVersion()),
                        dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion());
            }

            dependency.setVersion(versionRangeResult.getHighestVersion().toString());

            return resolveModel(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion());
        } catch (VersionRangeResolutionException e) {
            throw new UnresolvableModelException(e.getMessage(), dependency.getGroupId(), dependency.getArtifactId(),
                    dependency.getVersion(), e);
        }
    }
}

View on GitHub (pinned to e1c734241f)

Solutions

  1. Add an upper bound to the dependency version range
  2. Or pin the dependency to a concrete version
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at independent-projects/bootstrap/maven-resolver/src/main/java/io/quarkus/bootstrap/resolver/maven/BootstrapModelResolver.java:220 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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