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

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

1、准备好Java项目代码

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

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

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

20200721171955-5f1723bb6fad7.png

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

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

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

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

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

20200721171957-5f1723bd1a80e.png

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

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

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

20200721172000-5f1723c0be3c9.png

4、启动扫描。

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

20200721172002-5f1723c2abd46.png

等待任务扫描完成。

20200721172005-5f1723c5239ae.png

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

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

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

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

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

20200721172008-5f1723c8f0d71.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值