博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何使用SonarQube Scanner扫描器对代码进行扫描
阅读量:6657 次
发布时间:2019-06-25

本文共 1732 字,大约阅读时间需要 5 分钟。

hot3.png

Preface:SonarQube和SonarQube Scanner可以在一台服务器上也可以在不同的服务器上

本例:SonarQube部署在Linux服务器,而SonarQube Scanner使用的Windows服务器。

step1:根据操作系统下载安装包

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

step2:解压安装包并配置环境变量到path,见图

step3:验证是否成功,如下提示则表示成功

以上安装完毕,接下来我们通过扫描器结合SonarQube来完成对代码的质量扫描

 

step4:在sonar系统创建token口令,建项目名称,下一步用到

这里的token在第一次登陆SonarQube系统时会提示你录入,见下图,也可以跳过,登陆系统后可以在如上图位置进行设置。

step5:cd到你需要进行代码检查的项目目录,执行如下命令(Windows服务器)

***>sonar-scanner.bat -Dsonar.projectKey=mvndemo -Dsonar.sources=. -Dsonar.host.url=http://192.168.***.***:7000 -Dsonar.login=85d561f16a442dd3593b069d704fca1826b75a6a -Dsonar.java.binaries=./WebRoot/WEB-INF/classes

没有异常则表示成功,如下图

Instruction:

1>.-Dsonar.projectKey //step4中的项目名称

2>.-Dsonar.sources      //需要扫描的项目目录位置

3>. Dsonar.host.url    //sonar服务访问的url地址

4>.Dsonar.login          //令牌名称对应的token

5>.Dsonar.java.binaries //项目编译目录,java为例,则为class文件所在的目录

【执行命令,异常情况说明,及处理方法】

step5中,网站找到好多文章,使用扫描器命令时,都没加Dsonar.java.binaries这个参数

我在执行是报了下面这个异常

【sonar-scanner.bat -Dsonar.projectKey=mvndemo -Dsonar.sources=. -Dsonar.host.url=http://192.168.192.144:7000 -Dsonar.login=85d561f16a442dd3593b069d704fca1826b75a6a -Dsonar.java.binaries=./WebRoot/WEB-INF/classes】

原因见官网,上图:

所以有两种解决方案

(按理来说,对代码做质量检查,检查源码就可以了,不需要分析编译后的class文件,

具体为什么在sonar4.12版本以后要指定这个参数,没有做具体更深入的分析)

方案一:既然说缺少参数,那就配置此参数即可

按照step5去启动机上Dsonar.java.binaries参数启动扫描器即可。

方案二:降低sonar-java插件版本(没有试过)网上有网友通过这种方式成功解决了这个异常。

把plugins下面的新版的sonar-java替换成4.10版本的。(我没试,有网友是这么解决的)

上一张SonarQube+SonarQube Scanner扫描java项目的结果图,

对扫描结果的处理及分析,这里不做具体解读。

 

【参考网站】

https://www.jianshu.com/p/b5b3becc39c8
https://docs.sonarqube.org/display/SONAR/Get+Started+in+Two+Minutes
https://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode

转载于:https://my.oschina.net/guiguketang/blog/1814985

你可能感兴趣的文章
ruby学习笔记-基础数据类型
查看>>
我的友情链接
查看>>
【小松教你手游开发】【unity实用技能】unity ios快捷打包
查看>>
caffe编译的问题解决:“cublas_v2.h: No such file or directory”
查看>>
40岁后才明白的道理:人一生奋斗余地很有限
查看>>
正则符号整理
查看>>
Asp.net core 二级域名的设置
查看>>
es 字段 replace
查看>>
【LAMP】03、构建分离式的LAMP
查看>>
大快DKhadoop大数据处理平台详解
查看>>
摄影菜鸟使用的相机镜头术语大全分享
查看>>
XenServer部署系列之06——网络配置
查看>>
Python黑科技:50行代码运用Python+OpenCV实现人脸追踪+详细教程+快速入门+图像识...
查看>>
软件测试质量和效率评价之我见
查看>>
kloxo增加了域名,怎么不能访问?如何重启web服务?
查看>>
Nginx调试入门
查看>>
Centos7安装jdk
查看>>
MySQL锁
查看>>
国学题库整理
查看>>
jquery chosen 插件 动态设置+更新选项值
查看>>