apache/maven · warning

Plugin {} validation issues were detected in following plugi

Error message

Plugin {} validation issues were detected in following plugin(s)

What it means

End-of-session summary from DefaultPluginValidationManager: unless the level is NONE or INLINE (inline already reported everything), it checks the accumulated pluginIssues map and, if anything matches the locality filter (SUMMARY/VERBOSE report all localities, otherwise only EXTERNAL), logs 'Plugin <localities> validation issues were detected in following plugin(s)' followed by a sorted list of plugin GAVs (' * g:a:v') and their issues, ending with a pointer to the maven.plugin.validation property.

Source

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

    private void reportSessionCollectedValidationIssues(MavenSession mavenSession) {
        if (!logger.isWarnEnabled()) {
            return; // nothing can be reported
        }
        ValidationReportLevel validationReportLevel = validationReportLevel(mavenSession.getRepositorySession());
        if (validationReportLevel == ValidationReportLevel.NONE
                || validationReportLevel == ValidationReportLevel.INLINE) {
            return; // we were asked to not report anything OR reporting already happened inline
        }
        ConcurrentHashMap<String, PluginValidationIssues> issuesMap = pluginIssues(mavenSession.getRepositorySession());
        EnumSet<IssueLocality> issueLocalitiesToReport = validationReportLevel == ValidationReportLevel.SUMMARY
                        || validationReportLevel == ValidationReportLevel.VERBOSE
                ? EnumSet.allOf(IssueLocality.class)
                : EnumSet.of(IssueLocality.EXTERNAL);

        if (hasAnythingToReport(issuesMap, issueLocalitiesToReport)) {
            logger.warn("");
            logger.warn("Plugin {} validation issues were detected in following plugin(s)", issueLocalitiesToReport);
            logger.warn("");

            // Sorting the plugins
            List<Map.Entry<String, PluginValidationIssues>> sortedEntries = new ArrayList<>(issuesMap.entrySet());
            sortedEntries.sort(Map.Entry.comparingByKey(String.CASE_INSENSITIVE_ORDER));

            for (Map.Entry<String, PluginValidationIssues> entry : sortedEntries) {
                PluginValidationIssues issues = entry.getValue();
                if (!hasAnythingToReport(issues, issueLocalitiesToReport)) {
                    continue;
                }
                logger.warn(" * {}", entry.getKey());
                if (validationReportLevel == ValidationReportLevel.VERBOSE) {
                    if (!issues.pluginDeclarations.isEmpty()) {
                        logger.warn("  Declared at location(s):");
                        for (String pluginDeclaration : issues.pluginDeclarations) {
                            logger.warn("   * {}", pluginDeclaration);
                        }

View on GitHub (pinned to e4093d4e12)

Solutions

  1. Upgrade the listed plugins to versions that fix the reported issues.
  2. Report the issue against the plugin project (message says so) with the -Dmaven.plugin.validation=VERBOSE output attached.
  3. Suppress known/unfixable plugins via -Dmaven.plugin.validation.excludes=<g>:<a> (comma-separated G:A keys).
  4. Set -Dmaven.plugin.validation=NONE only as a last resort to mute everything.

Example fix

# before: summary noise from third-party plugins
mvn -Dmaven.plugin.validation=SUMMARY verify

# after: exclude the unfixable plugin, keep the rest
mvn -Dmaven.plugin.validation=SUMMARY \
    -Dmaven.plugin.validation.excludes=org.example:legacy-plugin verify
Defensive patterns

Strategy: fallback

Validate before calling

# guard: parse the summary for plugins you own vs third-party
mvn -Dmaven.plugin.validation=SUMMARY verify 2>&1 \
  | sed -n '/validation issues were detected/,/^$/p' > validation-summary.txt
# fail only on plugins you maintain
grep -q 'com.mycompany:' validation-summary.txt && exit 1 || true

Prevention

When it happens

Trigger: Running with -Dmaven.plugin.validation=SUMMARY, BRIEF or VERBOSE while at least one plugin recorded validation issues (external locality suffices for BRIEF) — e.g. plugins with unexpected dependencies, non-provided Maven core deps, or Maven-3-only API usage.

Common situations: CI builds switched to SUMMARY/VERBOSE for an audit; external plugins (not maintained by the build owner) flagged with EXTERNAL issues that need upstream fixes or version upgrades.

Related errors


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