maven-代码规范检查

maven-代码规范检查

  • 前言
  • 一、使用maven-checkstyle-plugin插件
    • 1. maven-checkstyle-plugin 介绍
    • 2. 引入依赖
    • 3. 如何排除某个类包下面的不进行检查
      • 使用suppressionsLocation
    • 4. 如何关闭

前言

很多时候我们的代码写的不规范,比如没缩进、参数间没空格、导入的包没用到没删除、方法很长没有进行拆分、 直接对方法参数进行了赋值分配等等不规范的操作或写法。

为了规范代码并提高代码的质量,以及扫描代码检测潜在的不合理代码,我们可以使用一些插件来进行代码扫描分析。

一、使用maven-checkstyle-plugin插件

1. maven-checkstyle-plugin 介绍

maven-checkstyle-plugin 是 maven 提供的一个插件,用于扫描代码检测不合理需要改进的差代码,简单来说就是代码规范检查。

举个例子:

GitHub 就用它在提交和拉取请求时审核代码库的一致性(例如缩进规则等)。GitHub 的 Actions 等 CI/CD 系统中就使用了这个东西,当你在 GitHub 上 fork 了一个开源项目,然后修改一些代码后给原项目作者提了一个 PR 请求,原作者同意后GitHub CI就会用这个东西构建检查代码缩进和代码规范是否有不合理的地方。

2. 引入依赖

在 pom.xml 的 pluginManagement 标签中引入如下插件依赖:

<plugin>
    <groupId>org.apache.maven.pluginsgroupId>
    <artifactId>maven-checkstyle-pluginartifactId>
    <version>3.2.1version>
 plugin>

maven-checkstyle-plugin 自带两套扫描代码的规则,一套是 Sun 定义的 sun_checks.xml ,一套是由谷歌定义的 google_checks.xml。
像上面那样不指定扫描规则,则默认采用 sun_checks.xml ,
如果你想指定使用 google_checks.xml 规则扫描代码可以像下面这样引入插件依赖:

<plugin>
	<groupId>org.apache.maven.pluginsgroupId>
	<artifactId>maven-checkstyle-pluginartifactId>
	<version>3.2.1version>
	<configuration>
	<configLocation>google_checks.xmlconfigLocation>
	configuration>
plugin>

如果你想采用自定义的扫描规则,请在你的 pom.xml 同级目录下新建 checkstyle.xml 文件并在其中配置你的规则。
然后修改 pom.xml 中 maven-checkstyle-plugin 插件的 configLocation 配置 checkstyle.xml ,就像上面的 google_checks.xml 一样。

网上有很多自定义的 checkstyle.xml 规则,例如:

  • 较完整checkstyle.xml及说明

3. 如何排除某个类包下面的不进行检查

使用suppressionsLocation

maven-代码规范检查_第1张图片
您必须使用一个明确的suppressions.xml配置文件并从您的配置中激活它:

<plugins>
  <plugin>
    <groupId>org.apache.maven.pluginsgroupId>
    <artifactId>maven-checkstyle-pluginartifactId>
    <version>3.1.1version>
    <configuration>
    <!-- checkstyle自定义文件位置  ->
      <configLocation>config/checkStyle/checkstyle.xmlconfigLocation>
       <!-- 不需要检测的类的文件的位置  ->
      <suppressionsLocation>config/checkStyle/suppressions.xmlsuppressionsLocation>
   [...]

用于排除目标文件夹的禁止文件如下所示:


DOCTYPE suppressions PUBLIC
  "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
  "https://checkstyle.org/dtds/suppressions_1_2.dtd">
  
<!-- files  代表你想对项目中的哪个类进行过来  ->
<!-- checks 代表你想过滤掉哪种检查 ->
<!-- 以下为例子 Javadoc 注释、 AvoidStarImport注释  全部* ->
<suppressions>
  <suppress files="[/\\]target[/\\]" checks=".*" />
  <suppress files="com.mapper" checks="Javadoc" />
  <suppress files="com.dto" checks="Javadoc" />
  <suppress files="HelloResource.java" checks="AvoidStarImport" />
suppressions>

4. 如何关闭

第一种:直接注释掉或者删除maven-checkstyle-plugin依赖

第二种.配置skip 设置为true
在 pom.xml 文件中为特定的插件或目标设置 skip 属性。当设置为 true 时,Maven 将跳过该插件或目标的执行。

以下是禁用checkstyle在pom中定义如下:

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.pluginsgroupId>
        <artifactId>maven-checkstyle-pluginartifactId>
        <version>2.9.1version>
        <configuration>
          <skip>trueskip>
        configuration>
      plugin>
build>

你可能感兴趣的:(maven,代码规范,java)