apache/maven · warning

- {}

Error message

     - {}

What it means

A single mojo-level issue line (' - <issue text>') in the VERBOSE plugin validation report, nested under its ' * Mojo ...' parent. This is the most granular finding Maven emits: the exact problem detected in one mojo class of one plugin version, e.g. 'uses deprecated API' details.

Source

Thrown at impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java:259

                        for (IssueLocality issueLocality : issueLocalitiesToReport) {
                            Set<String> pluginIssues = issues.pluginIssues.get(issueLocality);
                            if (pluginIssues != null && !pluginIssues.isEmpty()) {
                                logger.warn("  Plugin {} issue(s):", issueLocality);
                                for (String pluginIssue : pluginIssues) {
                                    logger.warn("   * {}", pluginIssue);
                                }
                            }
                        }
                    }
                    if (!issues.mojoIssues.isEmpty()) {
                        for (IssueLocality issueLocality : issueLocalitiesToReport) {
                            Map<String, LinkedHashSet<String>> mojoIssues = issues.mojoIssues.get(issueLocality);
                            if (mojoIssues != null && !mojoIssues.isEmpty()) {
                                logger.warn("  Mojo {} issue(s):", issueLocality);
                                for (String mojoInfo : mojoIssues.keySet()) {
                                    logger.warn("   * Mojo {}", mojoInfo);
                                    for (String mojoIssue : mojoIssues.get(mojoInfo)) {
                                        logger.warn("     - {}", mojoIssue);
                                    }
                                }
                            }
                        }
                    }
                    logger.warn("");
                }
            }
            logger.warn("");
            if (validationReportLevel == ValidationReportLevel.VERBOSE) {
                logger.warn(
                        "Fix reported issues by adjusting plugin configuration or by upgrading above listed plugins. If no upgrade available, please notify plugin maintainers about reported issues.");
            }
            logger.warn(
                    "For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): {}",
                    Arrays.toString(ValidationReportLevel.values()));
            logger.warn("");
        }

View on GitHub (pinned to e4093d4e12)

Solutions

  1. Use the message as the bug report body: upgrade the plugin first, since these findings are almost always fixed upstream
  2. If it names a deprecated API you also use in custom mojos, refactor that call and release
  3. Suppress known noise via maven.plugin.validation.excludes for the plugin GAV
Defensive patterns

Strategy: validation

Validate before calling

mvn clean install -Dmaven.plugin.validation=verbose 2>&1 | grep '     - '  # extract the granular issue lines

Prevention

When it happens

Trigger: Verbose validation report iterating issues.mojoIssues values; each string in the LinkedHashSet for a mojo prints one such line, preserving registration order.

Common situations: Deprecated Mojo API usage details (which method/class is deprecated), missing @Component field correctness, or classloader assumptions broken by newer Maven - usually from mojos not rebuilt for the current Maven baseline.

Related errors


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