{"record":{"id":"a3ec61a7c13aca56","repo":"apache/maven","slug":"mojo","errorCode":null,"errorMessage":"   * Mojo {}","messagePattern":"   \\* Mojo (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java","lineNumber":257,"sourceCode":"                    }\n                    if (!issues.pluginIssues.isEmpty()) {\n                        for (IssueLocality issueLocality : issueLocalitiesToReport) {\n                            Set<String> pluginIssues = issues.pluginIssues.get(issueLocality);\n                            if (pluginIssues != null && !pluginIssues.isEmpty()) {\n                                logger.warn(\"  Plugin {} issue(s):\", issueLocality);\n                                for (String pluginIssue : pluginIssues) {\n                                    logger.warn(\"   * {}\", pluginIssue);\n                                }\n                            }\n                        }\n                    }\n                    if (!issues.mojoIssues.isEmpty()) {\n                        for (IssueLocality issueLocality : issueLocalitiesToReport) {\n                            Map<String, LinkedHashSet<String>> mojoIssues = issues.mojoIssues.get(issueLocality);\n                            if (mojoIssues != null && !mojoIssues.isEmpty()) {\n                                logger.warn(\"  Mojo {} issue(s):\", issueLocality);\n                                for (String mojoInfo : mojoIssues.keySet()) {\n                                    logger.warn(\"   * Mojo {}\", mojoInfo);\n                                    for (String mojoIssue : mojoIssues.get(mojoInfo)) {\n                                        logger.warn(\"     - {}\", mojoIssue);\n                                    }\n                                }\n                            }\n                        }\n                    }\n                    logger.warn(\"\");\n                }\n            }\n            logger.warn(\"\");\n            if (validationReportLevel == ValidationReportLevel.VERBOSE) {\n                logger.warn(\n                        \"Fix reported issues by adjusting plugin configuration or by upgrading above listed plugins. If no upgrade available, please notify plugin maintainers about reported issues.\");\n            }\n            logger.warn(\n                    \"For more or less details, use 'maven.plugin.validation' property with one of the values (case insensitive): {}\",\n                    Arrays.toString(ValidationReportLevel.values()));","sourceCodeStart":239,"sourceCodeEnd":275,"githubUrl":"https://github.com/apache/maven/blob/e4093d4e120eac99d6bdce5ba67cace2f3085c97/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java#L239-L275","documentation":"A mojo identification line ('   * Mojo <info>') in the VERBOSE validation report, printed for each mojo of the plugin that recorded mojo-level issues. The info string combines the mojo goal with its implementing class (mojoInfo(mojoDescriptor, mojoClass)), so you can pinpoint the exact goal and source class; the individual issue texts follow as '     - ...' lines.","triggerScenarios":"Verbose validation report where issues.mojoIssues for a locality maps the mojo info key to a non-empty issue set; each key of that LinkedHashSet-preserving map prints one such line.","commonSituations":"Determining which goal (e.g. myplugin:repackage vs myplugin:help) of a multi-mojo plugin triggers the deprecated-API warnings before filing an upstream issue.","solutions":["Note the goal/class on this line, then read the '     - ' issues directly below it","Upgrade the plugin, or stop invoking the specific goal if the rest of the plugin is clean","File an upstream issue quoting the mojo class and issue lines so maintainers can fix that mojo"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"mvn groupId:artifactId:help:describe -Dgoal=THE-GOAL -Ddetail  # confirm which goal/class you depend on","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Record which goals of third-party plugins your build actually uses; drop unused goals so their findings become irrelevant","When filing upstream, quote the mojo class from this line for faster triage"],"tags":["maven","plugin-validation","mojo","build-report"],"backgroundTag":"plugin-validation-report","analyzedSha":"e4093d4e120eac99d6bdce5ba67cace2f3085c97","analyzedAt":"2026-08-21T22:58:24.034Z","schemaVersion":2},"datasetVersion":"2026-08-22T04:17:13.399Z"}