注意:这个目标应该用作 Maven 报告。
全名:
org.apache.maven.plugins:maven-pmd-plugin:3.16.0:cpd
说明:
有关更多详细信息,请参阅查找重复代码。
属性:
姓名 | 类型 | 自从 | 描述 |
---|---|---|---|
<输出目录> | 文件 | 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。 用户属性是:聚合。 |
<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。 用户属性是:格式。 |
<忽略注释> | 布尔值 | 3.11.0 | 如果为真,CPD 将忽略注释。 默认值为:false。 用户属性是:cpd.ignoreAnnotations。 |
<忽略标识符> | 布尔值 | 2.5 | 类似于ignoreLiterals但用于标识符;即,变量名、方法名等。 默认值为:false。 用户属性是:cpd.ignoreIdentifiers。 |
<忽略文字> | 布尔值 | 2.5 | 如果为真,CPD 在评估重复块时会忽略文字值差异。这意味着foo=42; 和
foo=43; 将被视为等效。您可能希望在关闭此选项的情况下运行 PMD,然后将其打开以查看结果。 默认值为:false。 用户属性是:cpd.ignoreLiterals。 |
<包括测试> | 布尔值 | 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.5 | CPD 分析的编程语言。当前有效值为java、javascript或
jsp。 默认值为:java。 |
<链接外部参照> | 布尔值 | 2.0 | 将违规行号链接到源外部参照。如果正在使用 jxr 插件,将自动创建链接。 默认值为:true。 用户属性是:linkXRef。 |
<minimumTokens> | 整数 | 2.0 | 在导致违规之前需要复制的最小令牌数。 默认值为:100。 用户属性是:minimumTokens。 |
<输出编码> | 细绳 | 2.5 | 编写非 HTML 报告时的文件编码。 默认值为:${project.reporting.outputEncoding}。 用户属性是:outputEncoding。 |
<showPmdLog> | 布尔值 | 3.9.0 | 将 PMD 日志重定向到 maven 注销。启用后,PMD 日志输出将重定向到 maven,以便它与所有其他日志输出一起在控制台中可见。此外,如果 maven 以调试标志(-X或--debug)启动,则 PMD 记录器也配置为进行调试。 默认值为:true。 用户属性是:pmd.showPmdLog。 |
<跳过> | 布尔值 | 2.1 | 跳过 CPD 报告生成。通过“-Dcpd.skip=true”在命令行上最有用。 默认值为:false。 用户属性是:cpd.skip。 |
<skipEmptyReport> | 布尔值 | 3.1 | 如果没有发现违规或重复,则跳过 PMD/CPD 报告生成。默认为false。
注意:在3.13.0 版本中,默认值从true更改为 false 。 默认值为:false。 |
<源编码> | 细绳 | 2.3 | 读取 Java 源代码时使用的文件编码。 默认值为:${project.build.sourceEncoding}。 用户属性是:编码。 |
<testSourceRoots> | 列表 | 3.7 | 包含要用于 PMD 的测试源的目录。默认为project.testCompileSourceRoots 默认值为:${project.testCompileSourceRoots}。 |
<外部参照位置> | 文件 | 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 版本中,默认值从true更改为 false 。