sonar入门:使用阿里规范扫描代码质量

10,324 阅读2分钟

这是我参与 8 月更文挑战的第 25 天,活动详情查看: 8月更文挑战

检测java代码时 有两种方法 

  • 使用sonar-scanner
  • SonarLint+maven

SonarLint+maven可能对于代码耦合度比较大,而且更复杂,所以楼主推荐sonar-scanner方式 。

废话不多说 安排!

1.使用sonar-scanner扫描

1.打包

打包java项目,这里不多说。

2.新家配置文件

在src路径下建立sonar-project.properties。配置文件如下。 image.png

# 项目名称
sonar.projectKey=systemportal
sonar.projectName=systemportal
sonar.projectVersion=1.0

#代码路径
sonar.sources=./src

# class路径
sonar.java.binaries=./target/classes

# 语言格式
sonar.language=java

3.执行扫描

进入sonar-project.properties路径通过cmd执行。

sonar-scanner

以下字样为执行成功。 image.png 进入127.0.0.1:9000,可以看到bug数啦。

image.png

2.SonarLint+maven扫描

 1.idea安装SonarLint插件

打开File->Settings->Plugins,搜索SonarLint插件,点击安装。安装后重启idea,如果安装失败,在网上下载插件,丢到idea安装目录的plugins文件夹中。 image.png

2.配置SonarLint

配置SonarLint General Settings。 image.png

地址为安装sonarqube地址 地址一定要带 http:// 点击next后可以选择验证类型填写安装时配置的账号密码

image.png

3.配置SonarLint Project Settings

选择刚才配置的规则

image.png

4.配置springboot

pom.xml文件中添加plugin。

<plugin>
    <groupId>org.sonarsource.scanner.maven</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>3.4.0.905</version>
</plugin>

5.打包扫描

mvn clean compile install
mvn sonar:sonar -Dsonar.host.url=http://xxx.xxx.xx.xx:9000  #上文配置的地址

6.查看

执行完命令后回到SonarLint Project Settings,点击search in list 选择项目。 image.png 然后就可以查看代码质量了。可以查看单个文件也可以查看文件夹。 image.png 检测的结果也可以在sonarqube中查看,访问上文配置的地址即可,看完后就可以有理由的喷一喷小弟了。 image.png

3.使用p3c规则

书接上文,还是不建议使用自带规则。字楼楼主选择了阿里出品的p3c。

1.下载sonar-p3c-pmd

sonarqube的版本号与sonar-p3c-pmd是对应的,所以需要选择好版本,楼主版本为7.6,否则会还会报es连接不上的错误。 地址:github.com/rhinoceros/…

2.选择版本

选择合适的jar包。 image.png

3.修改配置

删除之前pmd文件,放于sonarqube-7.6\extensions\plugins中,重启服务。

3.创建p3c规则

新增配置类别。 image.png 激活配置规则 image.png 选择资源库中的pmd(之前导入的p3c-pdm) 然后选择包中的规则激活即可,楼主这里只激活了p3c的51条。 image.png 设为默认即可

image.png 然后再次扫描即就是使用了新规范扫描了,是不是清爽了很多呢。