SonarQube之SonarScanner使用
可以脱离开发环境进行测试。sonarscanner可以帮助开发人员将代码上传远程sonarqube服务器上。
SonarQube在服务器端不支持32位系统,Sonarqube-scanner支持32位系统。最新版本已经无法下载32位操作系统的版本,这里我们只考虑64位操作系统的使用。
官方文档
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
环境变量
配置环境变量 path中添加D:\DevEnvironment\sonar-scanner-4.7.0.2747-windows\bin
这里写的是我自己的安装路径,大家根据配置的时候修改成自己的安装路径的bin目录即可。
在cmd检查安装是否成功
sonar-scanner -v,给出的版本信息如下图,这个表示已经安装成功了。
image.png
配置sonar-scanner
在安装目录配置文件,这里我的环境是在D:\DevEnvironment\sonar-scanner-4.7.0.2747-windows\conf目录下的sonar-scanner.properties里面修改一些配置
文件内容可以做如下调整:
# 这里其实填的是sonarqube服务端的地址,如果是本地的话可以填如下信息就可以了
sonar.host.url=http://localhost:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
sonar-project.properties
我们为了通过sonar-scanner扫描项目中代码,需要在项目的根目录创建一个配置文件sonar-project.properties
# 项目的key唯一不重复即可
sonar.projectKey=sonarScannerTest
# 项目的名字
sonar.projectName=sonarScannerTest
# 项目的版本
sonar.version=1.0
# 需要分析的源码的目录,多个目录用英文逗号隔开
sonar.sources=src
# sonarQube扫描的对象是.class而不是.java文件
sonar.java.binaries=target/classes
# 解析的开发语言,如果需要解析其他语言,需要下载对应的插件
sonar.language=java
#编码格式
sonar.sourceEncoding=UTF-8
扫描项目
在配置好sonar-project.properties文件后,就可以
首先执行mvn打包命名,如果已经编译过有了class文件后就可以跳过这一步
mvn clean package
上传代码,做质量检查
sonar-scanner
执行成功的话在本地的地址http://localhost:9000/projects上可以看到执行的结果:
如果在项目的根目录下无法创建 sonar-project.properties 文件,有几种替代方法:
可以通过命令行直接指定属性:
sonar-scanner -Dsonar.projectKey=myproject -Dsonar.sources=src1
属性 project.settings 可用于指定项目配置文件的路径(该选项与该sonar.projectBaseDir属性不兼容)。
sonar-scanner -Dproject.settings=../myproject.properties
sonar.projectBaseDir从 SonarScanner 2.4 开始,可以通过属性设置要分析的项目的根文件夹。sonar-project.properties如果sonar.projectKey未在命令行中指定,此文件夹必须包含文件。可以在此项目配置文件中或通过命令行参数定义其他分析参数。