检查样式:检查样式

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

全名

org.apache.maven.plugins:maven-checkstyle-plugin:3.1.2:checkstyle

说明

执行 Checkstyle 分析并针对 Checkstyle 发现的任何违规生成 HTML 报告的报告任务。

属性

  • 需要执行一个 Maven 项目。
  • 需要范围内工件的依赖解析:compile

必需参数

姓名 类型 自从 描述
<包括资源> 布尔值 2.11 指定是否在检查中包括资源目录。
默认值为true
用户属性是checkstyle.includeResources
<includeTestResources> 布尔值 2.11 指定是否在检查中包括测试资源目录。
默认值为true
用户属性是checkstyle.includeTestResources
<包括> 细绳 - 指定要用于 Checkstyle 的源文件的名称过滤器。
默认值为**\/*.java
用户属性是checkstyle.includes
<资源包括> 细绳 2.11 指定要用于 Checkstyle 的资源文件的名称过滤器。
默认值为**/*.properties
用户属性是checkstyle.resourceIncludes

可选参数

姓名 类型 自从 描述
<缓存文件> 细绳 - 指定用于在连续运行中加速 Checkstyle 的缓存文件。
默认值为${project.build.directory}/checkstyle-cachefile
<检查样式规则> 丛配置 2.12 通过使用这个属性,你可以直接在这个 pom.xml 中指定整个 Checkstyle 规则。
<plugin>
  ...
  <configuration>
    <checkstyleRules>
      <module name="Checker">
        <module name="FileTabCharacter">
          <property name="eachLine" value="true" />
        </module>
        <module name="TreeWalker">
          <module name="EmptyBlock"/>
        </module>
      </module>
    </checkstyleRules>
  </configuration>
  ...

<checkstyleRulesHeader> 细绳 - 用于内联配置的标头。仅在您指定checkstyleRules时使用。
默认值为<?xml version="1.0"?> <!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd"> .
<配置位置> 细绳 -

指定要使用的 XML 配置的位置。

潜在值是文件系统路径、URL 或类路径资源。此参数期望位置的内容符合规则集的 xml 格式(Checkstyle Checker 模块)配置。

此参数被解析为资源、URL 和文件。如果成功解析,配置的内容将被复制到 ${project.build.directory}/checkstyle-configuration.xml 文件中,然后作为配置传递给 Checkstyle。

Maven Checkstyle 插件中包含 2 个预定义的规则集:

  • sun_checks.xml:太阳检查。
  • google_checks.xml:谷歌支票。

默认值为sun_checks.xml
用户属性是checkstyle.config.location
<控制台输出> 布尔值 - 将错误输出到控制台。
默认值为false
用户属性是checkstyle.consoleOutput
<enableFilesSummary> 布尔值 - 指定是否应启用文件摘要。
默认值为true
用户属性是checkstyle.enable.files.summary
<启用RSS> 布尔值 - 指定是否应启用 RSS。
默认值为true
用户属性是checkstyle.enable.rss
<enableRulesSummary> 布尔值 - 指定是否应启用规则摘要。
默认值为true
用户属性是checkstyle.enable.rules.summary
<enableSeveritySummary> 布尔值 - 指定是否应启用严重性摘要。
默认值为true
用户属性是checkstyle.enable.severity.summary
<编码> 细绳 2.2 读取源文件时使用的文件编码。如果未设置属性project.build.sourceEncoding,则使用平台默认编码。注意:此参数始终覆盖Checkstyle 的TreeWalker模块中的属性字符集。默认值为${project.build.sourceEncoding}用户属性是编码


<不包括> 细绳 - 指定要为 Checkstyle 排除的源文件的名称过滤器。
用户属性是checkstyle.excludes
<失败错误> 布尔值 - 指定构建是否应因违规而失败。
默认值为false
<标题位置> 细绳 2.0-beta-2

指定 Checkstyle 可以使用的许可证文件(也称为头文件)的位置,以验证源代码是否具有正确的许可证头。

您需要在 Checkstyle xml 配置中使用${checkstyle.header.file}来引用此头文件的名称。

例如:

<module name="RegexpHeader">
  <property name="headerFile" value="${checkstyle.header.file}"/>
</module>

默认值为LICENSE.txt
用户属性是checkstyle.header.file
<includeTestSourceDirectory> 布尔值 2.2 包括或不包括用于 Checkstyle 的测试源目录。
默认值为false
<链接外部参照> 布尔值 2.1 将违规行号链接到源外部参照。如果正在使用 Maven JXR 插件,将自动链接。
默认值为true
用户属性是linkXRef
<省略忽略模块> 布尔值 3.0.0 指定在 Checkstyle 调用期间是否应忽略配置为 忽略严重性的模块。
默认值为false
<输出文件> 文件 - 指定保存 Checkstyle 输出的路径和文件名。输出文件的格式由 outputFileFormat参数确定。
默认值为${project.build.directory}/checkstyle-result.xml
用户属性是checkstyle.output.file
<输出文件格式> 细绳 - 指定写入输出文件时要使用的输出格式。有效值为“ plain ”和“ xml ”。
默认值为xml
用户属性是checkstyle.output.format
<属性位置> 细绳 2.0-beta-2

指定属性文件的位置。

这个参数被解析为 URL,文件然后资源。如果成功解析,属性位置的内容将被复制到 ${project.build.directory}/checkstyle-checker.properties 文件中,然后再传递给 Checkstyle 进行加载。

propertiesLocation的内容将提供给 Checkstyle 用于指定 xml 配置中的参数值(在configLocation 参数中指定)。


用户属性是checkstyle.properties.location
<属性扩展> 细绳 - 允许指定原始属性扩展信息。
<资源排除> 细绳 2.11 指定要为 Checkstyle 排除的资源文件的名称过滤器。
用户属性是checkstyle.resourceExcludes
<规则文件> 文件 - 内联 Checkstyle 规则的转储文件。
默认值为${project.build.directory}/checkstyle-rules.xml
用户属性是checkstyle.output.rules.file
<跳过> 布尔值 2.2 跳过整个检查。
默认值为false
用户属性是checkstyle.skip
<源目录> 列表 2.13 指定要用于 Checkstyle 的源目录的位置。默认值为 ${project.compileSourceRoots}
<源目录> 文件 - 已弃用。而是使用sourceDirectories。对于 3.0.0 版本,此参数仅定义为在使用时破坏构建!
<suppressionsFileExpression> 细绳 2.1 要在抑制文件的属性中使用的键。
默认值为checkstyle.suppressions.file
用户属性是checkstyle.suppression.expression
<抑制位置> 细绳 2.0-beta-2

指定要使用的抑制 XML 文件的位置。

此参数被解析为资源、URL 和文件。如果成功解决,则将抑制 XML 的内容复制到 ${project.build.directory}/checkstyle-supressions.xml 文件中,然后再传递给 Checkstyle 进行加载。

有关将可用于您的 Checkstyle 配置的属性,请参阅suppresssFileExpression 。


用户属性是checkstyle.suppressions.location
<testSourceDirectories> 列表 2.13 指定要用于 Checkstyle 的测试源目录的位置。默认值为 ${project.testCompileSourceRoots}
<测试源目录> 文件 2.2 已弃用。而是使用testSourceDirectories。对于 3.0.0 版本,此参数仅定义为在使用时破坏构建!
<treeWalkerNames> 列表 2.11 使用自定义 treeWalker 时,请在此处指定它们的名称,以便 treeWalker 内部的检查最终成为规则摘要。
<使用文件> 文件 - 如果为null,Checkstyle 插件将在标准输出上显示违规。否则,将创建一个包含违规的文本文件。
<外部参照位置> 文件 - 要链接到的外部参照的位置。
默认值为${project.reporting.outputDirectory}/xref

参数详情

<缓存文件>

指定用于在连续运行中加速 Checkstyle 的缓存文件。
  • 类型java.lang.String
  • 要求
  • 默认值${project.build.directory}/checkstyle-cachefile

<检查样式规则>

通过使用这个属性,你可以直接在这个 pom.xml 中指定整个 Checkstyle 规则。
<plugin>
  ...
  <configuration>
    <checkstyleRules>
      <module name="Checker">
        <module name="FileTabCharacter">
          <property name="eachLine" value="true" />
        </module>
        <module name="TreeWalker">
          <module name="EmptyBlock"/>
        </module>
      </module>
    </checkstyleRules>
  </configuration>
  ...
  • 类型org.codehaus.plexus.configuration.PlexusConfiguration
  • : 2.12
  • 要求

<checkstyleRulesHeader>

用于内联配置的标头。仅在您指定checkstyleRules时使用。
  • 类型java.lang.String
  • 要求
  • 默认值<?xml version="1.0"?> <!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd">

<配置位置>

指定要使用的 XML 配置的位置。

潜在值是文件系统路径、URL 或类路径资源。此参数期望位置的内容符合规则集的 xml 格式(Checkstyle Checker 模块)配置。

此参数被解析为资源、URL 和文件。如果成功解析,配置的内容将被复制到 ${project.build.directory}/checkstyle-configuration.xml 文件中,然后作为配置传递给 Checkstyle。

Maven Checkstyle 插件中包含 2 个预定义的规则集:

  • sun_checks.xml:太阳检查。
  • google_checks.xml:谷歌支票。
  • 类型java.lang.String
  • 要求
  • 用户属性checkstyle.config.location
  • 默认值sun_checks.xml

<控制台输出>

将错误输出到控制台。
  • 类型布尔值
  • 要求
  • 用户属性checkstyle.consoleOutput
  • 默认值

<enableFilesSummary>

指定是否应启用文件摘要。
  • 类型布尔值
  • 要求
  • 用户属性checkstyle.enable.files.summary
  • 默认值

<启用RSS>

指定是否应启用 RSS。
  • 类型布尔值
  • 要求
  • 用户属性checkstyle.enable.rss
  • 默认值

<enableRulesSummary>

指定是否应启用规则摘要。
  • 类型布尔值
  • 要求
  • 用户属性checkstyle.enable.rules.summary
  • 默认值

<enableSeveritySummary>

指定是否应启用严重性摘要。
  • 类型布尔值
  • 要求
  • 用户属性checkstyle.enable.severity.summary
  • 默认值

<编码>

读取源文件时使用的文件编码。如果未设置属性project.build.sourceEncoding,则使用平台默认编码。注意:此参数始终覆盖Checkstyle 的TreeWalker模块中的属性字符集。
  • 类型java.lang.String
  • : 2.2
  • 要求
  • 用户属性编码
  • 默认值${project.build.sourceEncoding}

<不包括>

指定要为 Checkstyle 排除的源文件的名称过滤器。
  • 类型java.lang.String
  • 要求
  • 用户属性checkstyle.excludes

<失败错误>

指定构建是否应因违规而失败。
  • 类型布尔值
  • 要求
  • 默认值

<标题位置>

指定 Checkstyle 可以使用的许可证文件(也称为头文件)的位置,以验证源代码是否具有正确的许可证头。

您需要在 Checkstyle xml 配置中使用${checkstyle.header.file}来引用此头文件的名称。

例如:

<module name="RegexpHeader">
  <property name="headerFile" value="${checkstyle.header.file}"/>
</module>
  • 类型java.lang.String
  • 2.0-beta-2
  • 要求
  • 用户属性checkstyle.header.file
  • 默认许可证.txt

<包括资源>

指定是否在检查中包括资源目录。
  • 类型布尔值
  • : 2.11
  • 要求
  • 用户属性checkstyle.includeResources
  • 默认值

<includeTestResources>

指定是否在检查中包括测试资源目录。
  • 类型布尔值
  • : 2.11
  • 要求
  • 用户属性checkstyle.includeTestResources
  • 默认值

<includeTestSourceDirectory>

包括或不包括用于 Checkstyle 的测试源目录。
  • 类型布尔值
  • : 2.2
  • 要求
  • 默认值

<包括>

指定要用于 Checkstyle 的源文件的名称过滤器。
  • 类型java.lang.String
  • 要求
  • 用户属性checkstyle.includes
  • 默认值**\/*.java

<链接外部参照>

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

<省略忽略模块>

指定在 Checkstyle 调用期间是否应忽略配置为 忽略严重性的模块。
  • 类型布尔值
  • 3.0.0
  • 要求
  • 默认值

<输出文件>

指定保存 Checkstyle 输出的路径和文件名。输出文件的格式由 outputFileFormat参数确定。
  • 类型java.io.File
  • 要求
  • 用户属性checkstyle.output.file
  • 默认值${project.build.directory}/checkstyle-result.xml

<输出文件格式>

指定写入输出文件时要使用的输出格式。有效值为“ plain ”和“ xml ”。
  • 类型java.lang.String
  • 要求
  • 用户属性checkstyle.output.format
  • 默认值xml

<属性位置>

指定属性文件的位置。

这个参数被解析为 URL,文件然后资源。如果成功解析,属性位置的内容将被复制到 ${project.build.directory}/checkstyle-checker.properties 文件中,然后再传递给 Checkstyle 进行加载。

propertiesLocation的内容将提供给 Checkstyle 用于指定 xml 配置中的参数值(在configLocation 参数中指定)。

  • 类型java.lang.String
  • 2.0-beta-2
  • 要求
  • 用户属性checkstyle.properties.location

<属性扩展>

允许指定原始属性扩展信息。
  • 类型java.lang.String
  • 要求

<资源排除>

指定要为 Checkstyle 排除的资源文件的名称过滤器。
  • 类型java.lang.String
  • : 2.11
  • 要求
  • 用户属性checkstyle.resourceExcludes

<资源包括>

指定要用于 Checkstyle 的资源文件的名称过滤器。
  • 类型java.lang.String
  • : 2.11
  • 要求
  • 用户属性checkstyle.resourceIncludes
  • 默认值**/*.properties

<规则文件>

内联 Checkstyle 规则的转储文件。
  • 类型java.io.File
  • 要求
  • 用户属性checkstyle.output.rules.file
  • 默认${project.build.directory}/checkstyle-rules.xml

<跳过>

跳过整个检查。
  • 类型布尔值
  • : 2.2
  • 要求
  • 用户属性checkstyle.skip
  • 默认值

<源目录>

指定要用于 Checkstyle 的源目录的位置。默认值为 ${project.compileSourceRoots}
  • 类型java.util.List
  • : 2.13
  • 要求

<源目录>

已弃用。而是使用sourceDirectories。对于 3.0.0 版本,此参数仅定义为在使用时破坏构建!
指定要用于 Checkstyle 的源目录的位置。
  • 类型java.io.File
  • 要求

<suppressionsFileExpression>

要在抑制文件的属性中使用的键。
  • 类型java.lang.String
  • : 2.1
  • 要求
  • 用户属性checkstyle.suppression.expression
  • 默认checkstyle.suppressions.file

<抑制位置>

指定要使用的抑制 XML 文件的位置。

此参数被解析为资源、URL 和文件。如果成功解决,则将抑制 XML 的内容复制到 ${project.build.directory}/checkstyle-supressions.xml 文件中,然后再传递给 Checkstyle 进行加载。

有关将可用于您的 Checkstyle 配置的属性,请参阅suppresssFileExpression 。

  • 类型java.lang.String
  • 2.0-beta-2
  • 要求
  • 用户属性checkstyle.suppressions.location

<testSourceDirectories>

指定要用于 Checkstyle 的测试源目录的位置。默认值为 ${project.testCompileSourceRoots}
  • 类型java.util.List
  • : 2.13
  • 要求

<测试源目录>

已弃用。而是使用testSourceDirectories。对于 3.0.0 版本,此参数仅定义为在使用时破坏构建!
指定要用于 Checkstyle 的测试源目录的位置。
  • 类型java.io.File
  • : 2.2
  • 要求

<treeWalkerNames>

使用自定义 treeWalker 时,请在此处指定它们的名称,以便 treeWalker 内部的检查最终成为规则摘要。
  • 类型java.util.List
  • : 2.11
  • 要求

<使用文件>

如果为null,Checkstyle 插件将在标准输出上显示违规。否则,将创建一个包含违规的文本文件。
  • 类型java.io.File
  • 要求

<外部参照位置>

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