apache/maven · info

For more or less details, use 'maven.plugin.validation' prop

Error message

For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): {}

What it means

Trailing hint of the plugin validation report telling you how to change report verbosity: set the 'maven.plugin.validation' property (case-insensitive) to one of ValidationReportLevel's values - printed here as [NONE, INLINE, SUMMARY, BRIEF, VERBOSE]. NONE mutes, INLINE (the default) prints each INTERNAL issue next to the mojo invocation, SUMMARY lists affected GAVs at the end, BRIEF combines inline INTERNAL plus end-list EXTERNAL, VERBOSE prints the full detailed report.

Source

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

                                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("");
        }
    }

    private boolean hasAnythingToReport(
            Map<String, PluginValidationIssues> issuesMap, EnumSet<IssueLocality> issueLocalitiesToReport) {
        for (PluginValidationIssues issues : issuesMap.values()) {
            if (hasAnythingToReport(issues, issueLocalitiesToReport)) {
                return true;
            }
        }
        return false;
    }

    private boolean hasAnythingToReport(PluginValidationIssues issues, EnumSet<IssueLocality> issueLocalitiesToReport) {
        for (IssueLocality issueLocality : issueLocalitiesToReport) {

View on GitHub (pinned to e4093d4e12)

Solutions

  1. Choose the level deliberately: summary for a digest, verbose for triage, none to mute, inline (default) for per-invocation lines
  2. Set it persistently in settings.xml or .mvn/maven.config instead of per-invocation -D flags
  3. Use maven.plugin.validation.excludes (comma-separated GAVs) to silence individual plugins instead of dropping the whole report

Example fix

# before: default inline output
mvn clean install
# after: full end-of-build report with declarations and issue detail
mvn clean install -Dmaven.plugin.validation=verbose
Defensive patterns

Strategy: validation

Validate before calling

<!-- .mvn/maven.config: fix the level explicitly so output shape is deterministic -->
-Dmaven.plugin.validation=summary

Prevention

When it happens

Trigger: Emitted once, after the advice line, whenever the end-of-session report was printed (i.e. level summary/brief/verbose and issues exist). Its own text is a usage hint, not a problem indicator.

Common situations: CI wanting a build-end digest (-Dmaven.plugin.validation=summary); developers wanting the full detail once (-Dmaven.plugin.validation=verbose); teams muting the report temporarily (-Dmaven.plugin.validation=none) until plugins are upgraded.

Related errors


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