注意:这个目标应该用作 Maven 报告。
全名:
org.apache.maven.plugins:maven-pmd-plugin:3.16.0:pmd
说明:
属性:
姓名 | 类型 | 自从 | 描述 |
---|---|---|---|
<输出目录> | 文件 | 2.0 | 最终 HTML 报告的输出目录。请注意,仅当目标直接从命令行运行或在默认生命周期期间运行时,才会评估此参数。如果目标作为站点生成的一部分间接运行,则使用在 Maven 站点插件中配置的输出目录。 用户属性是:project.reporting.outputDirectory。 |
<目标目录> | 文件 | 2.0 | 中间 XML 报告的输出目录。 用户属性是:project.build.directory。 |
姓名 | 类型 | 自从 | 描述 |
---|---|---|---|
<聚合> | 布尔值 | 2.2 | 已弃用。从 3.15.0 开始,请改用目标pmd:aggregate-pmd和
pmd:aggregate-cpd。 默认值为:false。 用户属性是:聚合。 |
<分析缓存> | 布尔值 | 3.8 | 启用分析缓存,从而加快 PMD。这需要一个缓存文件,其中包含上次 PMD 运行的结果。因此,只有在运行之间未清理此文件时,缓存才有效。 默认值为:false。 用户属性是:pmd.analysisCache。 |
<分析缓存位置> | 细绳 | 3.8 | 分析缓存的位置(如果已启用)。此文件包含上次 PMD 运行的结果,不得在连续 PMD 运行之间进行清理。否则缓存没有被使用。如果文件不存在,则 PMD 会像未启用缓存一样执行并分析所有文件。否则只会再次分析更改的文件。 默认值为:${project.build.directory}/pmd/pmd.cache。 用户属性是:pmd.analysisCacheLocation。 |
<基准> | 布尔值 | 3.1 | 控制 PMD 是否将跟踪基准信息。 默认值为:false。 用户属性是:pmd.benchmark。 |
<基准输出文件名> | 细绳 | 3.1 | 基准输出文件名。 默认值为:${project.build.directory}/pmd-benchmark.txt。 用户属性是:pmd.benchmarkOutputFilename。 |
<compileSourceRoots> | 列表 | 3.7 | 指定要用于 PMD 的源目录的位置。默认为project.compileSourceRoots。 默认值为:${project.compileSourceRoots}。 |
<excludeFromFailureFile> | 细绳 | 3.7 | 列出要从失败中排除的类和规则的文件。对于 PMD,这是一个属性文件。对于 CPD,这是一个文本文件,其中包含允许复制的类的逗号分隔列表。 用户属性是:pmd.excludeFromFailureFile。 |
<排除根> | 文件[] | 2.2 | 应排除的项目源目录。 |
<不包括> | 列表 | 2.2 | 要从检查中排除的文件列表。可以包含 Ant 风格的通配符和双通配符。请注意,这些排除模式仅在源文件相对于其源根目录的路径上运行。换句话说,文件是根据它们的包和/或类名排除的。如果要排除整个源根目录,请改用参数excludeRoots
。 |
<格式> | 细绳 | 2.0 | 除 HTML 报告外,还设置输出格式类型。必须是以下之一:“none”、“csv”、“xml”、“txt”或要使用的 PMD 渲染器的完整类名。有关可用的渲染器,请参阅 net.sourceforge.pmd.renderers 包 javadoc。在任何情况下都会生成 XML,因为检查目标需要这种格式(pmd:check、pmd:aggregator-check、pmd:cpd-check、pmd:aggregator-cpd-check)。 默认值为:xml。 用户属性是:格式。 |
<包括测试> | 布尔值 | 2.2 | 在测试上运行 PMD。 默认值为:false。 |
<includeXmlInSite> | 布尔值 | 3.0 | 是否在站点中包含 PMD/CPD 生成的 xml 文件。 默认值为:false。 |
<包括> | 列表 | 2.2 | 检查时要包含的文件列表。可以包含 Ant 风格的通配符和双通配符。默认为 **\/*.java。 |
<jdk工具链> | 地图 | 3.14.0 |
允许配置用于通过 maven 工具链运行 PMD 的 jvm。这允许使用一个 jvm 构建项目并使用另一个 jvm 执行 PMD 的配置。这会否决 maven-toolchain-plugin 选择的工具链。 例子: (有关更多信息, 请参阅工具链指南)<configuration> ... <jdkToolchain> <version>1.11</version> </jdkToolchain> </configuration> <configuration> ... <jdkToolchain> <version>1.8</version> <vendor>zulu</vendor> </jdkToolchain> </configuration> |
<语言> | 细绳 | 3.0 | PMD 分析的编程语言。当前有效值为java、javascript和
jsp。 默认值为:java。 |
<链接外部参照> | 布尔值 | 2.0 | 将违规行号链接到源外部参照。如果正在使用 jxr 插件,将自动创建链接。 默认值为:true。 用户属性是:linkXRef。 |
<最低优先级> | 整数 | 2.1 | 规则优先级阈值;优先级低于此的规则将不会被评估。 默认值为:5。 用户属性是:minimumPriority。 |
<输出编码> | 细绳 | 2.5 | 编写非 HTML 报告时的文件编码。 默认值为:${project.reporting.outputEncoding}。 用户属性是:outputEncoding。 |
<renderProcessingErrors> | 布尔值 | 3.9.0 | 还将处理错误呈现到 HTML 报告中。处理错误是 PMD 在执行规则时遇到的问题。它可以在规则执行期间解析错误或异常。处理错误表明 PMD 中存在错误,并且提供的信息有助于报告和修复 PMD 中的错误。 默认值为:true。 用户属性是:pmd.renderProcessingErrors。 |
<renderRuleViolationPriority> | 布尔值 | 3.10.0 | 还将规则优先级呈现到 HTML 报告中。 默认值为:true。 用户属性是:pmd.renderRuleViolationPriority。 |
<renderViolationsByPriority> | 布尔值 | 3.12.0 | 在 HTML 报告中添加一个部分,除了按文件分组外,还按规则优先级对发现的违规进行分组。 默认值为:true。 用户属性是:pmd.renderViolationsByPriority。 |
<规则集> | 细绳[] | 2.0 | 要使用的 PMD 规则集。有关可用规则的列表,请参阅Stock Java 规则集。默认为此 maven 插件 ( /rulesets/java/maven-pmd-plugin-default.xml ) 提供的自定义规则集。 |
<规则集目标目录> | 文件 | 3.13.0 | 在执行 PMD 之前,已配置的规则集被解析并复制到此目录中。
注意:在 3.13.0 之前,默认为 ${project.build.directory}。 默认值为:${project.build.directory}/pmd/rulesets。 用户属性是:pmd.rulesetsTargetDirectory。 |
<showPmdLog> | 布尔值 | 3.9.0 | 将 PMD 日志重定向到 maven 注销。启用后,PMD 日志输出将重定向到 maven,以便它与所有其他日志输出一起在控制台中可见。此外,如果 maven 以调试标志(-X或--debug)启动,则 PMD 记录器也配置为进行调试。 默认值为:true。 用户属性是:pmd.showPmdLog。 |
<跳过> | 布尔值 | 2.1 | 跳过 PMD 报告生成。通过“-Dpmd.skip=true”在命令行上最有用。 默认值为:false。 用户属性是:pmd.skip。 |
<skipEmptyReport> | 布尔值 | 3.1 | 如果没有发现违规或重复,则跳过 PMD/CPD 报告生成。默认为false。
注意:在3.13.0 版本中,默认值从true更改为 false 。 默认值为:false。 |
<skipPmdError> | 布尔值 | 3.1 | 每个默认的 pmd 执行错误都会被忽略,不会破坏整个 默认值是:true。 用户属性是:pmd.skipPmdError。 |
<源编码> | 细绳 | 2.3 | 读取 Java 源代码时使用的文件编码。 默认值为:${project.build.sourceEncoding}。 用户属性是:编码。 |
<抑制标记> | 细绳 | 3.4 | 用于指示是否应禁止 RuleViolation 的源级别标记。如果未设置,将使用 PMD 的默认值,即NOPMD。另请参阅PMD 抑制警告。 用户属性是:pmd.suppressMarker。 |
<targetJdk> | 细绳 | 2.0 | 要分析的目标JDK。应该与编译器插件中使用的源相匹配。默认
PMD版本的有效值当前为1.3、1.4、1.5、1.6、1.7、1.8、9、10、11、12、13、14、15、16和17。_ _ _ _
_ _ _ _
_ _ _ _ _ _ _
_ _ _ _ _ 您可以通过将 PMD 指定为依赖项来覆盖默认 PMD 版本,请参阅在运行时升级 PMD。 注意:此参数仅在语言参数设置为java时使用。 默认值为:${maven.compiler.source}。 用户属性是:targetJdk。 |
<testSourceRoots> | 列表 | 3.7 | 包含要用于 PMD 的测试源的目录。默认为project.testCompileSourceRoots 默认值为:${project.testCompileSourceRoots}。 |
<类型分辨率> | 布尔值 | 3.0 | 控制是否应将项目的编译/测试类路径传递给 PMD 以启用其类型解析功能。 默认值为:true。 用户属性是:pmd.typeResolution。 |
<外部参照位置> | 文件 | 2.0 | 要链接到的外部参照的位置。 默认值为:${project.reporting.outputDirectory}/xref。 |
<外部参照测试位置> | 文件 | 2.0 | 要链接到的测试外部参照的位置。 默认值为:${project.reporting.outputDirectory}/xref-test。 |
允许配置用于通过 maven 工具链运行 PMD 的 jvm。这允许使用一个 jvm 构建项目并使用另一个 jvm 执行 PMD 的配置。这会否决 maven-toolchain-plugin 选择的工具链。
例子:
(有关更多信息, 请参阅工具链指南)<configuration> ... <jdkToolchain> <version>1.11</version> </jdkToolchain> </configuration> <configuration> ... <jdkToolchain> <version>1.8</version> <vendor>zulu</vendor> </jdkToolchain> </configuration>
注意:在 3.13.0 之前,默认为 ${project.build.directory}。
注意:在3.13.0 版本中,默认值从true更改为 false 。
您可以通过将 PMD 指定为依赖项来覆盖默认 PMD 版本,请参阅在运行时升级 PMD。
注意:此参数仅在语言参数设置为java时使用。