java 静态扫描_静态代码扫描工具 – (八)- 扫描Java项目
静态代码扫描工具 – (八)- 扫描Java项目
1、准备好Java项目代码
只要是java语言实现的项目均可。
比如,自动化测试的代码,测试平台等均可以。
本次案例,使用java语言实现的测试平台来做为扫描对象。
2、了解java项目代码的结构。
为什么要了解项目代码结构呢?
1)区分出来,哪些是开发人员写的代码,哪些是引用的第三方包或配置文件等。
2)sonarQube主要是分析开发人员写的代码质量,对于外部的依赖库这些全部都可以忽略掉。
经过与开发人员的沟通,上图中的代码当中,有如下说明:
3、在项目根目录下,配置扫描数据。
3.1 在项目下:添加 sonar-project.properties 文件
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:指定在扫描当中,只扫描的语言。
4、启动扫描。
启动方式:在项目的根目录下,运行sonar-scanner命令
等待任务扫描完成。
在扫描任务完成之后,sonarQube需要将其扫描结果写入数据库,需要一定的时间。
扫描的代码量越大,写入数据库的时间相对的也要长一点。
5、在sonarQube上查看扫描结果。
在sonar-scanner提示扫描完成之后,访问sonarQube地址( http://localhost:9000/projects ),会看到有1个后台任务正在执行中。
等待sonarQube的后台任务处理完成,再去查看项目分析结果:
java 静态扫描_静态代码扫描工具 – (八)- 扫描Java项目相关推荐
- java captcha 验证码_验证码图片生成工具类——Captcha.java
验证码图片生成工具,使用JAVA生成的图片验证码,调用getRandcode方法获取图片验证码,以流的方式传输到前端页面. import java.awt.Color; import java.awt ...
- java 摄像头 win7_Win7系统下JAVA摄像头调用_实例代码介绍
Win7系统下JAVA摄像头调用_实例代码介绍.由于要搞个人脸识别登录(JAVACV),百度谷歌了一下午,找了网上简单的样例代码来试,可是老是调试不过,出现CaptureDeviceManager.g ...
- java 静态全局变量_静态变量static和全局变量global
静态变量static , 全局变量global 静态变量 在java也叫类变量从名字可以看出它是属于某个类的而不是类的实例.它的关键字是static存储在静态存储区,当程序执行,类的代码被加载到内存, ...
- java静态链表_静态链表及其创建(C语言实现)
<顺序表和链表优缺点>一节,我们了解了两种存储结构各自的特点,那么,是否存在一种存储结构,可以融合顺序表和链表各自的优点,从而既能快速访问元素,又能快速增加或删除数据元素. 静态链表,也是 ...
- svn管理工具_主流代码管理工具深度评测
引言 作为有十几年IT行业代码的从业人员,经历过代码管理工具的变迁,从早期的微软的Source Code Control,到TFS,再到SVN,再到现在的Git.我深知代码管理工具是代码开发过程中非常 ...
- java框架核心技术_你必须掌握的 21 个 Java 核心技术!(干货)
点击上方"java进阶架构师",选择右上角"置顶公众号" 20大进阶架构专题每日送达 51闲来无事,师长一向不(没)喜(有)欢(钱)凑热闹,倒不如趁着这时候复盘 ...
- java oom分析_作为测试你应该知道的JAVA OOM及定位分析
上周现网一个内存溢出问题导致应用服务器每隔一小时死一次,遂整理下常见的OMM.发现方法和处理方式,加入Bug预防. 常见的OutOfMemoryError有三种:OutOfMemoryError:Pe ...
- java转换为c#_将25k行C#转换为Java的经验教训
java转换为c# 由于各种原因,我最近完成了一个将复杂的财务应用程序从C#转换为Java的项目. 港口的原因大部分是非技术性的,而是对相关企业的一项战略举措. 这是一次有趣的经历,我在此过程中吸取了 ...
- java future用法_你必须掌握的 21 个 Java 核心技术
作者:工程师-搁浅来源:https://www.jb51.net/article/122070.htm 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知 ...
最新文章
- Java通过链表实现队列
- 3157: 国王奇遇记 3516: 国王奇遇记加强版 - BZOJ
- PHP 分页类 高洛峰 细说PHP
- 《软件工程》第01章在线测试
- 一、搭建Extjs 4.1开发环境
- oracle数据表管理
- 面试官:GET和POST两种基本请求方法有什么区别
- 南京oracle soa,Oracle SOA平台之甲骨文SOA套件概述
- java监听器的原理与实现
- SAP License:大陆SAP用户清单
- 【优化预测】基于matlab狼群算法优化BP神经网络预测【含Matlab源码 658期】
- strcmp函数php,php strcmp函数怎么用?
- html js实现搜索框提示功能,js实现智能提示搜索框
- Win32编程之基于MATLAB与VC交互的幻方阵(魔方阵)输出
- Mysql 5.1 第12章:函数
- PaddleFL 1.2.0版本 使用docker镜像编译流程(Ubuntu 20.04)
- ArrayList和LinkedList的底层源码之我见
- 茂名天源石化等一批项目开工 广东5大炼化基地发展重点确定
- 如何查看公众号文章的排版格式字体大小
- 【论文笔记】SlowFast Networks for Video Recognition