pmd:pmd

注意:这个目标应该用作 Maven 报告。

全名

org.apache.maven.plugins:maven-pmd-plugin:3.4:pmd

说明

创建 PMD 报告。

属性

  • 需要执行一个 Maven 项目。
  • 需要对范围内的工件进行依赖解析:test
  • 目标是线程安全的并支持并行构建。
  • 自版本:2.0

必需参数

姓名 类型 自从 描述
输出目录 文件 2.0 最终 HTML 报告的输出目录。请注意,仅当目标直接从命令行运行或在默认生命周期期间运行时,才会评估此参数。如果目标作为站点生成的一部分间接运行,则使用在 Maven 站点插件中配置的输出目录。
用户属性是project.reporting.outputDirectory
目标目录 文件 2.0 中间 XML 报告的输出目录。
用户属性是project.build.directory

可选参数

姓名 类型 自从 描述
总计的 布尔值 2.2 是在根目录构建聚合报告,还是构建单独的报告。
默认值为false
用户属性是聚合
基准 布尔值 3.1 控制 PMD 是否将跟踪基准信息。
默认值为false
用户属性是pmd.benchmark
基准输出文件名 细绳 3.1 基准输出文件名。
默认值为${project.build.directory}/pmd-benchmark.txt
用户属性是pmd.benchmarkOutputFilename
排除根 文件[] 2.2 应排除的项目源目录。
排除 列表 2.2 要从检查中排除的文件列表。可以包含 Ant 风格的通配符和双通配符。请注意,这些排除模式仅在源文件相对于其源根目录的路径上运行。换句话说,文件是根据它们的包和/或类名排除的。如果要排除整个源根目录,请改用参数excludeRoots
格式 细绳 2.0 除 HTML 报告外,还设置输出格式类型。必须是以下之一:“none”、“csv”、“xml”、“txt”或要使用的 PMD 渲染器的完整类名。有关可用的渲染器,请参阅 net.sourceforge.pmd.renderers 包 javadoc。如果正在使用 pmd:check 目标,则需要 XML。
默认值为xml
用户属性是格式
包括测试 布尔值 2.2 在测试上运行 PMD。
默认值为false
包括XmlInSite 布尔值 3.0 是否在站点中包含 PMD/CPD 生成的 xml 文件。
默认值为false
包括 列表 2.2 检查时要包含的文件列表。可以包含 Ant 风格的通配符和双通配符。默认为 **\/*.java。
语言 细绳 3.0 PMD 分析的编程语言。当前有效值为javaecmascriptjavascript

注意:如果给出了参数 targetJdk,那么这个语言参数将被忽略。


默认值为java
链接外部参照 布尔值 2.0 将违规行号链接到源外部参照。如果正在使用 jxr 插件,将自动创建链接。
默认值为true
用户属性是linkXRef
最低优先级 整数 2.1 规则优先级阈值;优先级低于此的规则将不会被评估。
默认值为5
用户属性是minimumPriority
输出编码 细绳 2.5 编写非 HTML 报告时的文件编码。
默认值为${project.reporting.outputEncoding}
用户属性是outputEncoding
规则集 细绳[] 2.0 要使用的 PMD 规则集。有关包含的一些列表,请参阅股票规则集。默认为 java-basic、java-imports 和 java-unusedcode 规则集。
跳过 布尔值 2.1 跳过 PMD 报告生成。通过“-Dpmd.skip=true”在命令行上最有用。
默认值为false
用户属性是pmd.skip
跳过空报告 布尔值 3.1 如果没有发现违规或重复,则跳过 PMD/CPD 报告生成。默认为true
默认值为true
skipPmdError 布尔值 3.1 每个默认的 pmd 执行错误都会被忽略,不会破坏整个
默认值是true
用户属性是pmd.skipPmdError
源编码 细绳 2.3 读取 Java 源代码时使用的文件编码。
默认值为${project.build.sourceEncoding}
用户属性是编码
抑制标记 细绳 3.4 用于指示是否应禁止 RuleViolation 的源级别标记。如果未设置,将使用 PMD 的默认值,即NOPMD。另请参阅PMD 抑制警告
用户属性是pmd.suppressMarker
目标Jdk 细绳 2.0 要分析的目标JDK。应该匹配编译器插件中使用的目标。当前有效值为1.31.41.51.61.71.8
默认值为${maven.compiler.target}
用户属性是targetJdk
类型分辨率 布尔值 3.0 控制是否应将项目的编译/测试类路径传递给 PMD 以启用其类型解析功能。
默认值为false
用户属性是pmd.typeResolution
外部参照位置 文件 2.0 要链接到的外部参照的位置。
默认值为${project.reporting.outputDirectory}/xref
外部参照测试位置 文件 2.0 要链接到的测试外部参照的位置。
默认值为${project.reporting.outputDirectory}/xref-test

参数详情

聚合

是在根目录构建聚合报告,还是构建单独的报告。
  • 类型布尔值
  • : 2.2
  • 要求
  • 用户属性聚合
  • 默认值

基准

控制 PMD 是否将跟踪基准信息。
  • 类型布尔值
  • : 3.1
  • 要求
  • 用户属性pmd.benchmark
  • 默认值

基准输出文件名

基准输出文件名。
  • 类型java.lang.String
  • : 3.1
  • 要求
  • 用户属性pmd.benchmarkOutputFilename
  • 默认值${project.build.directory}/pmd-benchmark.txt

排除根

应排除的项目源目录。
  • 类型java.io.File[]
  • : 2.2
  • 要求

不包括

要从检查中排除的文件列表。可以包含 Ant 风格的通配符和双通配符。请注意,这些排除模式仅在源文件相对于其源根目录的路径上运行。换句话说,文件是根据它们的包和/或类名排除的。如果要排除整个源根目录,请改用参数excludeRoots
  • 类型java.util.List
  • : 2.2
  • 要求

格式

除 HTML 报告外,还设置输出格式类型。必须是以下之一:“none”、“csv”、“xml”、“txt”或要使用的 PMD 渲染器的完整类名。有关可用的渲染器,请参阅 net.sourceforge.pmd.renderers 包 javadoc。如果正在使用 pmd:check 目标,则需要 XML。
  • 类型java.lang.String
  • : 2.0
  • 要求
  • 用户属性格式
  • 默认值xml

包括测试

在测试上运行 PMD。
  • 类型布尔值
  • : 2.2
  • 要求
  • 默认值

包括XmlInSite

是否在站点中包含 PMD/CPD 生成的 xml 文件。
  • 类型布尔值
  • : 3.0
  • 要求
  • 默认值

包括

检查时要包含的文件列表。可以包含 Ant 风格的通配符和双通配符。默认为 **\/*.java。
  • 类型java.util.List
  • : 2.2
  • 要求

语言

PMD 分析的编程语言。当前有效值为javaecmascriptjavascript

注意:如果给出了参数 targetJdk,那么这个语言参数将被忽略。

  • 类型java.lang.String
  • : 3.0
  • 要求
  • 默认值java

链接外部参照

将违规行号链接到源外部参照。如果正在使用 jxr 插件,将自动创建链接。
  • 类型布尔值
  • : 2.0
  • 要求
  • 用户属性linkXRef
  • 默认值

最低优先级

规则优先级阈值;优先级低于此的规则将不会被评估。
  • 类型整数
  • : 2.1
  • 要求
  • 用户属性minimumPriority
  • 默认值5

输出目录

最终 HTML 报告的输出目录。请注意,仅当目标直接从命令行运行或在默认生命周期期间运行时,才会评估此参数。如果目标作为站点生成的一部分间接运行,则使用在 Maven 站点插件中配置的输出目录。
  • 类型java.io.File
  • : 2.0
  • 要求
  • 用户属性project.reporting.outputDirectory

输出编码

编写非 HTML 报告时的文件编码。
  • 类型java.lang.String
  • : 2.5
  • 要求
  • 用户属性输出编码
  • 默认值${project.reporting.outputEncoding}

规则集

要使用的 PMD 规则集。有关包含的一些列表,请参阅股票规则集。默认为 java-basic、java-imports 和 java-unusedcode 规则集。
  • 类型java.lang.String[]
  • : 2.0
  • 要求

跳过

跳过 PMD 报告生成。通过“-Dpmd.skip=true”在命令行上最有用。
  • 类型布尔值
  • : 2.1
  • 要求
  • 用户属性pmd.skip
  • 默认值

跳过空报告

如果没有发现违规或重复,则跳过 PMD/CPD 报告生成。默认为true
  • 类型布尔值
  • : 3.1
  • 要求
  • 默认值

跳过Pmd错误

每个默认的 pmd 执行错误都会被忽略,不会破坏整体
  • 类型布尔值
  • : 3.1
  • 要求
  • 用户属性pmd.skipPmdError
  • 默认值

源编码

读取 Java 源代码时使用的文件编码。
  • 类型java.lang.String
  • : 2.3
  • 要求
  • 用户属性编码
  • 默认值${project.build.sourceEncoding}

抑制标记

用于指示是否应禁止 RuleViolation 的源级别标记。如果未设置,将使用 PMD 的默认值,即NOPMD。另请参阅PMD 抑制警告
  • 类型java.lang.String
  • : 3.4
  • 要求
  • 用户属性pmd.suppressMarker

目标目录

中间 XML 报告的输出目录。
  • 类型java.io.File
  • : 2.0
  • 要求
  • 用户属性project.build.directory

目标Jdk

要分析的目标JDK。应该匹配编译器插件中使用的目标。当前有效值为1.31.41.51.61.71.8
  • 类型java.lang.String
  • : 2.0
  • 要求
  • 用户属性targetJdk
  • 默认值${maven.compiler.target}

类型解析

控制是否应将项目的编译/测试类路径传递给 PMD 以启用其类型解析功能。
  • 类型布尔值
  • : 3.0
  • 要求
  • 用户属性pmd.typeResolution
  • 默认值

外部参照位置

要链接到的外部参照的位置。
  • 类型java.io.File
  • : 2.0
  • 要求
  • 默认值${project.reporting.outputDirectory}/xref

外部参照测试位置

要链接到的测试外部参照的位置。
  • 类型java.io.File
  • : 2.0
  • 要求
  • 默认值${project.reporting.outputDirectory}/xref-test