使用SonarQube+SonarScanner对Java代码进行扫描(Windows环境)
Posted nikeylee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用SonarQube+SonarScanner对Java代码进行扫描(Windows环境)相关的知识,希望对你有一定的参考价值。
目录
3、安装SonarQube需要使用的数据库PostgreSQL13.3
二、修改SonarQube+SonarScanner的配置文件
3、在待运行项目的根目录,添加sonar-project.properties配置文件
2、浏览器打开地址:http://127.0.0.1:9000
SonarQube
- 是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误;
- 支持代码静态扫描检查的语言:Java,C,Python等;
一、准备工作
1、下载SonarQube+SonarScanner
1)SonarQube 8.9.0版本
下载地址:https://www.sonarqube.org/downloads/
本文选择社区8.9.0版本:sonarqube-8.9.0.43852.zip
下载成功后,解压到目录:D:\\sonar\\sonarqube-8.9.0.43852
2)SonarScanner 4.6.2版本
下载地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
本文使用的版本:4.6.2
下载成功后,解压到目录:D:\\sonar\\sonar-scanner-4.6.2.2472-windows
2、安装JDK 11
参考文章:https://blog.csdn.net/nikeylee/article/details/117410036
SonarQube8.9.0版本需要安装JDK11版本,否则启动SonarQube8.9.0版本时,会报错,报错信息显示如下:
3、安装SonarQube需要使用的数据库PostgreSQL13.3
参考文章:https://blog.csdn.net/nikeylee/article/details/117412832
本文安装的是SonarQube8.9.0版本,SonarQube 7.9以上的版本已不再支持mysql,SonarQube8.9.0版本修改配置文件改为MySQL时报错,报错如下图:
使用可视化工具pgAdmin,创建数据库sonarqube,使用用户名/密码:sonar/sonar连接数据库;
4、配置SonarScanner环境变量
1)新增SONAR_SCANNER_HOME系统变量
变量名:SONAR_SCANNER_HOME
变量值:D:\\sonar\\sonar-scanner-4.6.2.2472-windows
2)修改Path系统变量
变量名:Path
变量值:%SONAR_SCANNER_HOME%\\bin;
二、修改SonarQube+SonarScanner的配置文件
1、修改SonarQube配置文件,添加数据库配置信息
修改D:\\sonar\\sonarqube-8.9.0.43852\\conf\\sonar.properties文件
在最下面添加数据库连接信息:
sonar.jdbc.url=jdbc:postgresql://127.0.0.1:5432/sonarqube?currentSchema=public
#数据库用户名
sonar.jdbc.username=sonar
#数据库密码
sonar.jdbc.password=sonar
2、修改sonar_scanner配置文件
修改D:\\sonar\\sonar-scanner-4.6.2.2472-windows\\conf\\sonar-scanner.properties文件
#Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here
#----- Default SonarQube server
sonar.host.url=http://127.0.0.1:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
3、在待运行项目的根目录,添加sonar-project.properties配置文件
项目根目录:D:\\Nikey\\Project\\Repository\\gitee\\shopping
# 配置代码扫描的项目信息
# must be unique in a given SonarQube instance
sonar.projectKey=shopping
# this is the name displayed in the SonarQube UI
sonar.projectName=shopping
sonar.projectVersion=1.1.1
# Path is relative to the sonar-project.properties file. Replace "\\" by "/" on Windows.
# If not set, SonarQube starts looking for source code from the directory containing
# 配置扫描的代码目录
sonar.sources=src
# classes文件目录,不加会报错
sonar.java.binaries=target
sonar.language=java
sonar.sourceEncoding=UTF-8
sonar.exclusions=**/*.js
sonar.login=test
sonar.password=test
三、启动SonarQube
1、进入SonarQube解压目录
解压目录:D:\\sonar\\sonarqube-8.9.0.43852\\bin\\windows-x86-64
点击StartSonar.bat,启动SonarQube,会稍微有点慢,因为要初始化数据库信息;
启动成功,CMD控台显示如下图
可以看到自动创建了sonarqube的数据库表
2、浏览器打开地址:http://127.0.0.1:9000
输入默认用户名和密码:admin/admin
第一次登录成功后,admin账户的密码依据提示进行更新;
登录成功后截图:
如果未配置SonarQube的数据库,则启动成功后,会有如下告警提示信息:
四、使用sonar-scanner进行代码扫描
1、运行sonar-scanner命令
查看sonar-scanner版本
sonar-scanner -v
进入sonar-project.properties所在目录:D:\\Nikey\\Project\\Repository\\gitee\\shopping
运行代码扫描命令,命令行中的同名参数(如-Dsonar.projectVersion),可以替换掉项目配置文件sonar-project.properties设置的参数值;
sonar-scanner -Dsonar.projectName=shopping -Dsonar.projectVersion=1.2
2、查看SonarQube控台,看代码扫描结果
以上是关于使用SonarQube+SonarScanner对Java代码进行扫描(Windows环境)的主要内容,如果未能解决你的问题,请参考以下文章
gitlab+jenkins+maven+docker持续集成——sonarqube及sonarscanner代码审查
Sonarqube SonarScanner 忽略 React 项目中的 Javascript 文件
MySQL5.7+SonarQube7.4+SonarScanner4.2安装与使用
SonarScanner 整合 SonarQube 代码质量检查完美方案