静态代码扫描工具 - sonarQube (四) - 扫描 java 项目

本贴最后更新于 1559 天前,其中的信息可能已经斗转星移

扫描配置 - 扫描Java项目

1、准备好Java项目代码

只要是java语言实现的项目均可。

比如,自动化测试的代码,测试平台等均可以。

本次案例,使用java语言实现的测试平台来做为扫描对象。
image.png

2、了解java项目代码的结构。

为什么要了解项目代码结构呢?

  1. 区分出来,哪些是开发人员写的代码,哪些是引用的第三方包或配置文件等。
  2. sonarQube主要是分析开发人员写的代码质量,对于外部的依赖库这些全部都可以忽略掉。

经过与开发人员的沟通,上图中的代码当中,有如下说明:

image.png

3、在项目根目录下,配置扫描数据。

3.1 在项目下:添加 sonar-project.properties 文件

image.png

3.2 copy以下内容到sonar-project.properties当中

# must be unique in a given SonarQube instance
sonar.projectKey=my:project  

# --- optional properties ---

# defaults to project key
#sonar.projectName=My project
# defaults to 'not provided'
#sonar.projectVersion=1.0
 
# Path is relative to the sonar-project.properties file. Defaults to .
#sonar.sources=.
 
# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

3.3 配置sonar.projectKey

1、

sonar.projectKey(必填): 的值为你的项目名称,是会显示在sonarQube管理平台上的。

要求在SonarQube当中,项目key名唯一。其它项目不能够再取这个名字。
2、

sonar.projectName:项目名称。一般与key名一致。

3、

sonar.sources: 项目下有多个目录。可以指定要扫描的源码目录。

主要目的是扫描团队当中开发人员编写的代码 。所以可以根据项目情况来指明。
4、

sonar.sourceEncoding:指定源码的编码格式,一般都会去指定为UTF-8。

5、

sonar.java.binaries(必填):指定java文件编译后class文件目录。

6、

sonar.language:指定在扫描当中,只扫描的语言。

image.png

4、启动扫描。

启动方式:在项目的根目录下,运行sonar-scanner命令

image.png

等待任务扫描完成。

image.png

在扫描任务完成之后,sonarQube需要将其扫描结果写入数据库,需要一定的时间。

扫描的代码量越大,写入数据库的时间相对的也要长一点。

5、在sonarQube上查看扫描结果。

在sonar-scanner提示扫描完成之后,访问sonarQube地址( http://localhost:9000/projects ),会看到有1个后台任务正在执行中。

等待sonarQube的后台任务处理完成,再去查看项目分析结果:

image.png

1 操作
xiaojian 在 2020-08-07 10:06:27 更新了该帖
回帖
请输入回帖内容 ...