work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

代码管理工具SonarQube的搭建和使用

Posted on 2020-09-27 13:53  work hard work smart  阅读(205)  评论(0编辑  收藏  举报

Sonar主要作用

检查代码是否遵循编程标准:如命名规范,编写的规范等
检查设计存在的潜在缺陷:SonarQube通过插件Findbugs、Checkstyle等工具检测代码存在的缺陷
检测代码的重复代码量:SonarQube可以展示项目中存在大量复制粘贴的代码
检测代码中注释的程度:源码注释过多或者太少都不好,影响程序的可读可理解性
检测代码中包、类之间的关系:分析类之间的关系是否合理,复杂度情况

 

一、Sonar配置

1、Window下搭建SonarQube环境

下载SonarQube 这里版本为sonarqube-6.7.6

下载SonarQube 版本和汉化包地址

https://pan.baidu.com/s/1817FN_8kYfrQsg5GNMImVQ

提取码:39ft

 

下载 sonar-scanner-cli 这里的版本为3.0.0.702-windows.zip

https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/

 

2、配置数据库

 mysql>CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql>CREATE USER ‘sonar’ IDENTIFIED BY ‘sonar’;
mysql>GRANT ALL ON sonar.* TO ‘sonar’@’%’ IDENTIFIED BY ‘sonar’;
mysql>FLUSH PRIVILEGES;

 

3、配置Sonar

D:\Tools\sonarqube-6.7.6\conf 的sonar.properties文件

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatch edStatements=true&useConfigs=maxPerformance&useSSL=false

 

4、启动

D:\Tools\sonarqube-6.7.6\bin\windows-x86-64

StartSonar.bat

打开界面: http://localhost:9000/

 

5、Sonar汉化

 下载完成将插件放到D:\Tools\sonarqube-6.7.6\extensions\plugins ,重启sonar即可。

 

二、Sonar-Scanner

1、Sonar-Scanner

版本为sonar-scanner-3.0.0.702-windows

D:\Tools\sonar-scanner-3.0.0.702-windows

 

2、配置环境变量

1):新建变量,name=SONAR_RUNNER_HOME。value=D:\Tools\sonar-scanner-3.0.0.702-windows

2):打开path,输入%SONAR_RUNNER_HOME%\bin

3):打开CMD窗口,输入 sonar-scanner  -v

 

3、找到需要扫描的项目,在项目的根目录下新建 sonar-project.properties文件

sonar.projectKey=xxx
sonar.projectName=xxx
sonar.version=0.0.1-SNAPSHOT
sonar.sources=C:/xxx/src/main/java
sonar.java.binaries=C:/xxx/target/classes

projectName为项目名称

sonar.version 项目版本

sonar.sources 扫描的源码路径

sonar.java.binaries 项目生成的class文件路径

 

4、启动sonar-scanner

cd C:/xxx/

sonar-scanner

再次打开localhost:9000 查看分析结果

 

参考:

1、https://blog.csdn.net/qq_41631176/article/details/84952820