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
- 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
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
- 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
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
- Ignoring incompatible plugin version {}: {}
- The consumer POM for %s cannot be downgraded to model versio
- Required Maven version {} is not met by current version {}
- Could not verify plugin's Maven prerequisite as an invalid v
- Could not find compatible version of plugin {}:{} in any plu
AI-assisted analysis of apache/maven@e4093d4e12 (2026-08-21).
Data as JSON: /api/errors/2d13d46e33756121.
Report an issue: GitHub.