quarkusio/quarkus · error · UnresolvableModelException

The requested parent version range '%s' does not specify an

Error message

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

What it means

UnresolvableModelException from BootstrapModelResolver.resolveModel(Parent): the <parent> version is an open-ended Maven version range without an upper bound. The resolver requires an upper bound to pick the highest matching version, so model resolution is refused outright.

Source

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

            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 parent version range '%s'",
                                parent.getVersion()),
                        parent.getGroupId(), parent.getArtifactId(), parent.getVersion());
            }

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

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

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

    @Override
    public ModelSource resolveModel(final Dependency dependency)
            throws UnresolvableModelException {
        try {

View on GitHub (pinned to e1c734241f)

Solutions

  1. Add an upper bound to the parent version range, e.g. '[1.0,2.0)'
  2. Or replace the range with a concrete parent 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:180 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/0de892f6d60657ff. Report an issue: GitHub.