java静态代码扫描工具_静态代码扫描工具 - (八)- 扫描Java项目

1、准备好Java项目代码

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

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

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

781644b7-0083-4294-88b0-08cb54d68f35.png!large

0962217849ba02052c8aee889148b2b7.png

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

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

1)区分出来,哪些是开发人员写的代码,哪些是引用的第三方包或配置文件等。

2)sonarQube主要是分析开发人员写的代码质量,对于外部的依赖库这些全部都可以忽略掉。

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

dc33208612df00753534ffa9edb9f564.png

dbf2d08d-c5c1-4302-b748-12f3434880cc.png!large

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

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

57bb4757988d58fc2fd094558c19011d.png

bf377333-8227-48e0-97c6-93e4353e5a86.png!large

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:指定在扫描当中,只扫描的语言。

e833642748e59fb523a9c73f0f1852e4.png

7c1c28ca-69ca-4c83-bfdb-8a3a6262ebfa.png!large

4、启动扫描。

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

a50644c35b8ab6ade7fe6506cd6829bc.png

6d029e46-4e7e-47b3-9bab-dbd1cf1b6805.png!large

等待任务扫描完成。

6f7d9e2ffed5be024d94ab2fce18c05b.png

772290d1-7f98-4612-a4a6-84bf3f62c103.png!large

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

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

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

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

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

ef800652fa7e6c4d64a07154a1c390e3.png

5b7376bd-ba98-4a56-81de-82462588ade9.png!large

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值