{"record":{"id":"30c91994d81334e5","repo":"apache/maven","slug":"ignoring-incompatible-plugin-version-30c919","errorCode":null,"errorMessage":"Ignoring incompatible plugin version {}: {}","messagePattern":"Ignoring incompatible plugin version (.+?): (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"impl/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java","lineNumber":364,"sourceCode":"\n        try {\n            pluginDescriptor = pluginManager.getPluginDescriptor(\n                    plugin, request.getRepositories(), request.getRepositorySession());\n        } catch (PluginResolutionException e) {\n            logger.debug(\"Ignoring unresolvable plugin version {}\", version, e);\n            return false;\n        } catch (Exception e) {\n            // ignore for now and delay failure to higher level processing\n            return true;\n        }\n\n        try {\n            pluginManager.checkPrerequisites(pluginDescriptor);\n        } catch (PluginIncompatibleException e) {\n            if (logger.isDebugEnabled()) {\n                logger.warn(\"Ignoring incompatible plugin version {}:\", version, e);\n            } else {\n                logger.warn(\"Ignoring incompatible plugin version {}: {}\", version, e.getMessage());\n            }\n            return false;\n        }\n\n        return true;\n    }\n\n    private void mergeMetadata(\n            RepositorySystemSession session,\n            RequestTrace trace,\n            Versions versions,\n            org.eclipse.aether.metadata.Metadata metadata,\n            ArtifactRepository repository) {\n        if (metadata != null && metadata.getFile() != null && metadata.getFile().isFile()) {\n            try {\n                Map<String, ?> options = Collections.singletonMap(MetadataReader.IS_STRICT, Boolean.FALSE);\n\n                Metadata repoMetadata = metadataReader.read(metadata.getFile(), options);","sourceCodeStart":346,"sourceCodeEnd":382,"githubUrl":"https://github.com/apache/maven/blob/e4093d4e120eac99d6bdce5ba67cace2f3085c97/impl/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java#L346-L382","documentation":"Non-debug form of the incompatible-candidate warning (line 364): only e.getMessage() is printed instead of a stack trace. DefaultPluginVersionResolver.isCompatible caught PluginIncompatibleException from pluginManager.checkPrerequisites for candidate 'version' and returns false so version selection continues with the next-older candidate. The message names the version skipped and the reason (typically the required-vs-current Maven version mismatch).","triggerScenarios":"Default-log-level build invoking an unversioned plugin whose newer releases declare higher Maven prerequisites; each skipped release logs one 'Ignoring incompatible plugin version X: <reason>' line while the resolver descends the version list.","commonSituations":"CI logs showing several of these lines followed by a successful 'Selected plugin' message (harmless churn); or followed by the fatal resolution error when no candidate is compatible - then these lines are the audit trail of why.","solutions":["If a version was subsequently selected, silence the noise by pinning that selected version explicitly in the POM","If resolution failed after these skips, either pin an older compatible version or upgrade Maven to the prerequisite shown in the message","Run once with -X to see the stack-trace variant with the exact required Maven version"],"exampleFix":"# before: resolver probes and skips incompatible candidates every build\nmvn org.apache.maven.plugins:maven-clean-plugin:clean\n# after: pin compatible version on the CLI to skip the search\nmvn org.apache.maven.plugins:maven-clean-plugin:3.3.2:clean","handlingStrategy":"fallback","validationCode":"# preflight: find the newest plugin release whose prerequisite your Maven satisfies\nmvn -V  # print running Maven version\nmvn versions:display-plugin-updates  # compare available lines against it","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pin explicit versions so the resolver never walks incompatible candidates","Watch plugin release notes for raised Maven prerequisites before bumping versions in pluginManagement"],"tags":["maven","plugin-prerequisites","version-search","compatibility"],"backgroundTag":"maven-prerequisite-not-met","analyzedSha":"e4093d4e120eac99d6bdce5ba67cace2f3085c97","analyzedAt":"2026-08-21T22:58:24.034Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}