pmd:pmd

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

全名:

org.apache.maven.plugins:maven-pmd-plugin:3.2: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 文件。
注意:在 2.2 - 2.7.1 版本中,默认值为true。这在 3.0 版中已更改。
默认值为:false。
包括 列表 2.2 检查时要包含的文件列表。可以包含 Ant 风格的通配符和双通配符。默认为 **\/*.java。
语言 细绳 3.0 PMD 分析的编程语言。当前有效值为java和ecmascript或 javascript。

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


默认值为:java。
链接外部参照 布尔值 2.0 将违规行号链接到源外部参照。如果正在使用 jxr 插件,将自动创建链接。
默认值为:true。
用户属性是:linkXRef。
最低优先级 整数 2.1 规则优先级阈值;优先级低于此的规则将不会被评估。
默认值为:5。
用户属性是:minimumPriority。
输出编码 细绳 2.5 编写非 HTML 报告时的文件编码。
默认值为:${project.reporting.outputEncoding}。
用户属性是:outputEncoding。
规则集 细绳[] 2.0 要使用的 PMD 规则集。有关包含的一些列表,请参阅股票规则集。从 2.5 版开始,规则集“rulesets/maven.xml”也可用。默认为 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}。
用户属性是:编码。
目标Jdk 细绳 2.0 要分析的目标JDK。应该匹配编译器插件中使用的目标。当前有效值为1.3、 1.4、1.5、1.6和 1.7。注意:本插件 2.3 版本增加了对1.6的支持,本插件 2.7 版本增加了对1.7 的支持。
用户属性是: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 文件。
注意:在 2.2 - 2.7.1 版本中,默认值为true。这在 3.0 版中已更改。
  • 类型:布尔值
  • 从: 3.0
  • 要求:否
  • 默认值:假

包括:

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

语言:

PMD 分析的编程语言。当前有效值为java和ecmascript或 javascript。

注意:如果给出了参数 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 规则集。有关包含的一些列表,请参阅股票规则集。从 2.5 版开始,规则集“rulesets/maven.xml”也可用。默认为 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}

目标目录:

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

目标Jdk:

要分析的目标JDK。应该匹配编译器插件中使用的目标。当前有效值为1.3、 1.4、1.5、1.6和 1.7。注意:本插件 2.3 版本增加了对1.6的支持,本插件 2.7 版本增加了对1.7 的支持。
  • 类型:java.lang.String
  • 从: 2.0
  • 要求:否
  • 用户属性:targetJdk

类型解析:

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

外部参照位置:

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

外部参照测试位置:

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