apache/maven · warning

Ignoring incompatible plugin version {}:

Error message

Ignoring incompatible plugin version {}:

What it means

During unversioned plugin version search, each candidate's descriptor is loaded and pluginManager.checkPrerequisites run; when the candidate declares a required Maven version not satisfied by the running Maven, PluginIncompatibleException is thrown and the candidate is skipped with this warning. This is the debug-enabled form (line 362) that passes the exception so the stack trace prints - useful to see the underlying 'Required Maven version X is not met by current version Y' IllegalStateException from MavenPluginMavenPrerequisiteChecker.

Source

Thrown at impl/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java:362

        PluginDescriptor pluginDescriptor;

        try {
            pluginDescriptor = pluginManager.getPluginDescriptor(
                    plugin, request.getRepositories(), request.getRepositorySession());
        } catch (PluginResolutionException e) {
            logger.debug("Ignoring unresolvable plugin version {}", version, e);
            return false;
        } catch (Exception e) {
            // ignore for now and delay failure to higher level processing
            return true;
        }

        try {
            pluginManager.checkPrerequisites(pluginDescriptor);
        } catch (PluginIncompatibleException e) {
            if (logger.isDebugEnabled()) {
                logger.warn("Ignoring incompatible plugin version {}:", version, e);
            } else {
                logger.warn("Ignoring incompatible plugin version {}: {}", version, e.getMessage());
            }
            return false;
        }

        return true;
    }

    private void mergeMetadata(
            RepositorySystemSession session,
            RequestTrace trace,
            Versions versions,
            org.eclipse.aether.metadata.Metadata metadata,
            ArtifactRepository repository) {
        if (metadata != null && metadata.getFile() != null && metadata.getFile().isFile()) {
            try {
                Map<String, ?> options = Collections.singletonMap(MetadataReader.IS_STRICT, Boolean.FALSE);

View on GitHub (pinned to e4093d4e12)

Solutions

  1. Treat it as informational: check the following 'Selected plugin G:A:V' info line - if an older compatible version was selected, no action is strictly required
  2. Pin the newest version that is compatible with your Maven in <pluginManagement> to stop the search (and the warnings) entirely
  3. Upgrade the running Maven distribution to meet the newest plugin's prerequisite when you want the latest plugin line
  4. If resolution ultimately failed, see the 'Could not find compatible version' error - this warning's stack trace identifies the required version you must meet

Example fix

<!-- before: unversioned, resolver walks 4.x candidates incompatible with Maven 3.9 -->
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-clean-plugin</artifactId>
</plugin>
<!-- after: pin the newest 3.x-compatible release -->
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-clean-plugin</artifactId>
  <version>3.3.2</version>
</plugin>
Defensive patterns

Strategy: fallback

Validate before calling

<!-- decide up front: pin the newest version your Maven supports -->
<properties>
  <maven-clean-plugin.version>3.3.2</maven-clean-plugin.version>
</properties>

Prevention

When it happens

Trigger: Invoke a plugin without an explicit version while running a Maven older than the candidate's <prerequisites><maven> - e.g. newest maven-clean-plugin 4.x line requiring Maven 4 while running 3.9.x - with -X enabled. The search then falls back to older candidates; only if all fail does 'Could not find compatible version' (613) abort the build.

Common situations: Plugin ecosystems raising their baseline after major Maven releases; teams pinned to older Maven distributions; warnings appearing in bulk while the resolver walks a long version list newest-first.

Related errors


AI-assisted analysis of apache/maven@e4093d4e12 (2026-08-21). Data as JSON: /api/errors/2d13d46e33756121. Report an issue: GitHub.