IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 白盒测试之静态代码扫描:SonarQube+Scanner环境搭建及使用 -> 正文阅读

[Java知识库]白盒测试之静态代码扫描:SonarQube+Scanner环境搭建及使用

一、前言

1.1 环境及软件要求

1.2 作用

SonarQube作为一个开源平台,用于管理源代码的质量,支持Java、C#、Python等多门语言。有如下作用。

  • 扫描代码的bug和漏洞
  • code small 代码坏味道(代码规范、技术债评估)
  • 代码重复度
  • 单测与集成:单测用例数量、覆盖率

二、SonarQube安装及配置

  • 解压压缩包,修改配置文件 \conf\sonar.properties
    sonar.jdbc.username=root
    sonar.jdbc.password=mysql
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
    
    在这里插入图片描述
  • 执行bin目录下相应操作系统目录下的StartSonar,我这里系统是win64位系统,就是\bin\windows-x86-64\StartSonar.bat,出现如下提示则代表启动服务正常。
    在这里插入图片描述
  • 访问http://localhost:9000/,使用账号admin、密码admin登录
    在这里插入图片描述
  • 生成相关的token
    在这里插入图片描述
  • 关闭sonar服务:在SonarQube命令窗口快捷键Ctrl+C,然后输入Y退出,否则容易出现异常。如果由于之前SonarQube没有正常关闭,导致后续打不开,可以去任务管理器,将java相关进程关闭后再重启服务。
    在这里插入图片描述

三、sonar-scanner安装及配置

  • 解压压缩包,修改配置文件 \conf\sonar-scanner.properties
    sonar.jdbc.username=root
    sonar.jdbc.password=mysql
    #sonarqube配置的数据库
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
    #sonarqube地址
    sonar.host.url=http://localhost:9000
    
  • 配置环境变量,操作如下
    --1.新建一个变量 为 SONAR_SCANNER_HOME,配置为解压的sonar_scanner的目录,例如:D:\IT Tools\Sonar\sonar-scanner-4.7.0.2747-windows
    --2.在path环境变量中添加 %SONAR_SCANNER_HOME%\bin
    
    在这里插入图片描述
  • 命令行执行 sonar-scanner --version,出现如下信息则代表环境变量设置成功。
    在这里插入图片描述

四、Sonar简单应用

4.1 项目根目录执行命令,生成报告

  • 在被检测项目根目录新建一个文件sonar-project.properties,内如如下。
    在这里插入图片描述

    sonar.projectKey=test_renren
    sonar.projectName=test_renren
    sonar.version=0.1
    sonar.sources=D:/IT Tools/IDEA/WorkSpace/renren/renren-generator/src/main/java
    sonar.java.binaries=D:/IT Tools/IDEA/WorkSpace/renren/renren-generator/target/classes
    #sonar.projectKey:关键字
    #sonar.projectName:项目名
    #sonar.version:项目版本
    #sonar.sources:要扫描的源码路径,项目的绝对路径
    #sonar.java.binaries:项目生成的class文件的路径
    
  • 项目根目录cmd下,执行sonar-scanner,分析成功后会出现下图这样。
    在这里插入图片描述

  • 访问sonar,就能看到扫描的结果了。
    在这里插入图片描述

4.2 与IDEA工具集成

  • 安装SonarLint插件,IDEA->File—>Settings—>Plugins
    在这里插入图片描述
  • Tools->SonarLint->点击"+"号
    在这里插入图片描述
  • 填写名称,使用之前搭建号的Sonar服务,再点击Next
    在这里插入图片描述
  • 填写之前生成的Token
    在这里插入图片描述
  • 如果忘记之前生成的Token,可以在此重新生成
    在这里插入图片描述
  • 操作完成后就会在IDEA下方出现一个SonarLint的一栏,点击左侧运行就可以扫描代码进行分析了。在这里插入图片描述

五、补充-SonarQube汉化

  • 汉化插件下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/releases?page=3
  • 根据SonarQube版本找对应的插件版本,我这里就是找1.19版本。
    在这里插入图片描述
  • 将下载好的jar包放在extensions\plugins
    在这里插入图片描述
  • 重启服务,再次访问Sonar就能看到汉化后的效果。
    在这里插入图片描述
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 07:54:26  更:2022-05-08 07:54:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 16:05:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码