静态代码扫描工具 – (八)- 扫描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项目相关推荐

  1. java captcha 验证码_验证码图片生成工具类——Captcha.java

    验证码图片生成工具,使用JAVA生成的图片验证码,调用getRandcode方法获取图片验证码,以流的方式传输到前端页面. import java.awt.Color; import java.awt ...

  2. java 摄像头 win7_Win7系统下JAVA摄像头调用_实例代码介绍

    Win7系统下JAVA摄像头调用_实例代码介绍.由于要搞个人脸识别登录(JAVACV),百度谷歌了一下午,找了网上简单的样例代码来试,可是老是调试不过,出现CaptureDeviceManager.g ...

  3. java 静态全局变量_静态变量static和全局变量global

    静态变量static , 全局变量global 静态变量 在java也叫类变量从名字可以看出它是属于某个类的而不是类的实例.它的关键字是static存储在静态存储区,当程序执行,类的代码被加载到内存, ...

  4. java静态链表_静态链表及其创建(C语言实现)

    <顺序表和链表优缺点>一节,我们了解了两种存储结构各自的特点,那么,是否存在一种存储结构,可以融合顺序表和链表各自的优点,从而既能快速访问元素,又能快速增加或删除数据元素. 静态链表,也是 ...

  5. svn管理工具_主流代码管理工具深度评测

    引言 作为有十几年IT行业代码的从业人员,经历过代码管理工具的变迁,从早期的微软的Source Code Control,到TFS,再到SVN,再到现在的Git.我深知代码管理工具是代码开发过程中非常 ...

  6. java框架核心技术_你必须掌握的 21 个 Java 核心技术!(干货)

    点击上方"java进阶架构师",选择右上角"置顶公众号" 20大进阶架构专题每日送达 51闲来无事,师长一向不(没)喜(有)欢(钱)凑热闹,倒不如趁着这时候复盘 ...

  7. java oom分析_作为测试你应该知道的JAVA OOM及定位分析

    上周现网一个内存溢出问题导致应用服务器每隔一小时死一次,遂整理下常见的OMM.发现方法和处理方式,加入Bug预防. 常见的OutOfMemoryError有三种:OutOfMemoryError:Pe ...

  8. java转换为c#_将25k行C#转换为Java的经验教训

    java转换为c# 由于各种原因,我最近完成了一个将复杂的财务应用程序从C#转换为Java的项目. 港口的原因大部分是非技术性的,而是对相关企业的一项战略举措. 这是一次有趣的经历,我在此过程中吸取了 ...

  9. java future用法_你必须掌握的 21 个 Java 核心技术

    作者:工程师-搁浅来源:https://www.jb51.net/article/122070.htm 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知 ...

最新文章

  1. Java通过链表实现队列
  2. 3157: 国王奇遇记 3516: 国王奇遇记加强版 - BZOJ
  3. PHP 分页类 高洛峰 细说PHP
  4. 《软件工程》第01章在线测试
  5. 一、搭建Extjs 4.1开发环境
  6. oracle数据表管理
  7. 面试官:GET和POST两种基本请求方法有什么区别
  8. 南京oracle soa,Oracle SOA平台之甲骨文SOA套件概述
  9. java监听器的原理与实现
  10. SAP License:大陆SAP用户清单
  11. 【优化预测】基于matlab狼群算法优化BP神经网络预测【含Matlab源码 658期】
  12. strcmp函数php,php strcmp函数怎么用?
  13. html js实现搜索框提示功能,js实现智能提示搜索框
  14. Win32编程之基于MATLAB与VC交互的幻方阵(魔方阵)输出
  15. Mysql 5.1 第12章:函数
  16. PaddleFL 1.2.0版本 使用docker镜像编译流程(Ubuntu 20.04)
  17. ArrayList和LinkedList的底层源码之我见
  18. 茂名天源石化等一批项目开工 广东5大炼化基地发展重点确定
  19. 如何查看公众号文章的排版格式字体大小
  20. 【论文笔记】SlowFast Networks for Video Recognition

热门文章

  1. Pyhton注释符号使用方法及规范
  2. 计算机英语900句.pdf,计算机英语900句第一章第一课:概貌
  3. 强制类型转换之(==)
  4. 详解Parcel:快速,零配置web应用打包工具
  5. Python yaml模块
  6. 搭建自己的GIT服务器
  7. webserver的作用!
  8. node.js创建server
  9. Css3新特性应用之形状
  10. 谈谈这些年来我为什么一直在坚持