sonar入门:全网最全的概念解析与安装

2,323 阅读3分钟

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

sonar是一款代码检测工具,如果在开发过程中,想监控组员的代码书写是否正规,可以使用该工具。sonar提供了可视化界面(可以跟领导装x),是一款即实用,又能在公司显摆自己能力的工具。如果小伙伴们在公司内担任leader的角色,同时又想能够上位,可以落地,提升自己的存在感。。。。废话不多说,下面开始介绍。

1.概念解读

sonar是一款代码质量检查的中间件,但是在安装过程中,一度有n多概念,让我懵逼。以下将带大家区别这些概念。

 1.sonarqube

sonarqube:是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码格式上的问题。它可以与您现有的工作流程集成,以实现跨项目分支和提取请求的连续代码检查。同时也提供了可视化的管理页面,用于查看检测出的结果。

同时sonarqube提供了一系列的规范(大概有300多条,不建议使用),可以通过勾选从而设置在检测时是否使用。

image.png

也就是说sonarqube只是显示平台,需要与代码连接才能够扫描。

2.sonarlint

sonarlint是idea的插件,sonarlint本身也有检查的功能,可以在idea中检测代码,也可以在idea中配置检测的规范,同时,sonarlint也可以连接sonarqube,只不过只是用sonarqube的前台页面。

测试结果

image.png

检测规范(可以通过勾选控制)

image.png

3.sonar-scanner

sonar-scanner插件:用于扫描代码与连接sonarqube,使用sonar-scanner插件就可以将本地代码连接sonarqube 并检测出结果,并显示在sonarqube中。

sonarqube检测代码java代码有两种方式,一种使用sonar-scanner,一种使用sonarlint,具体可以参照下文。

4.p3c

p3c:阿里巴巴指定的代码格式规范 共50条左右 可以在idea中使用 也可以将配置导入进sonarqube 然后使用sonarqube检测 

建议使用p3c规则,sonar规则是在太复杂,什么代码都能给你怼出错误。

2.安装

因为公司仅剩一台windows服务器,所以。。。。。老板你感觉采购内存啊!!!!

1.安装jdk

可以参考前文文档。

2.下载解压

image.png 下载地址:www.sonarqube.org/downloads/,画红圈的为社区版(免费)。

3.安装数据库

根据自己需要安装数据库。

4.准备数据

新建sonar库与sonar用户。 image.png

5.修改配置文件

image.png image.png

#sonar用户页面登录账号密码
sonar.login=root
sonar.password=root

#mysql连接与mysql账号密码
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

如有以下报错 请注意mysql版本和mysql的账号密码

2021.04.06 10:50:09 WARN  app[][o.e.t.n.Netty4Transport] exception caught on transport layer [[id: 0x29e09cd2, L:/127.0.0.1:52892 - R:/127.0.0.1:9001]], closing connection
java.io.IOException: 远程主机强迫关闭了一个现有的连接。

6.启动

选择windows版本。 image.png 按顺序点击bat脚本。 image.png 出现以下字样,为安装成功。 image.png

7.登录

访问地址为http://localhost:9000,点击login并输入上文配置的登录账号与密码。 image.png

8.安装插件

这里选择了汉化插件 下载地址为:github.com/xuhuisheng/… 根据版本下载自己的jar包 image.png 下载好jar包后将jar包复制到sonarqube-7.6\extensions\plugins中并重启,完事手收工。 image.png