{"record":{"id":"2d13d46e33756121","repo":"apache/maven","slug":"ignoring-incompatible-plugin-version","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":362,"sourceCode":"\n        PluginDescriptor pluginDescriptor;\n\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);","sourceCodeStart":344,"sourceCodeEnd":380,"githubUrl":"https://github.com/apache/maven/blob/e4093d4e120eac99d6bdce5ba67cace2f3085c97/impl/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java#L344-L380","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["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","Pin the newest version that is compatible with your Maven in <pluginManagement> to stop the search (and the warnings) entirely","Upgrade the running Maven distribution to meet the newest plugin's prerequisite when you want the latest plugin line","If resolution ultimately failed, see the 'Could not find compatible version' error - this warning's stack trace identifies the required version you must meet"],"exampleFix":"<!-- before: unversioned, resolver walks 4.x candidates incompatible with Maven 3.9 -->\n<plugin>\n  <groupId>org.apache.maven.plugins</groupId>\n  <artifactId>maven-clean-plugin</artifactId>\n</plugin>\n<!-- after: pin the newest 3.x-compatible release -->\n<plugin>\n  <groupId>org.apache.maven.plugins</groupId>\n  <artifactId>maven-clean-plugin</artifactId>\n  <version>3.3.2</version>\n</plugin>","handlingStrategy":"fallback","validationCode":"<!-- decide up front: pin the newest version your Maven supports -->\n<properties>\n  <maven-clean-plugin.version>3.3.2</maven-clean-plugin.version>\n</properties>","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Know your Maven distribution version and the prerequisites of plugin lines you adopt (check their <prerequisites><maven>)","Pin plugin versions compatible with the oldest Maven your team runs to stop candidate probing entirely","When a new plugin line requires a newer Maven, plan the Maven upgrade before unpinning"],"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"}