继续上篇内容,对sonar-scanner在Windows 10环境下安装部署操作步骤进行分解,安装过程相对较简单,并且作为sonar客户端通常都是安装在开发设备上,后期一般不会考虑在Linux上部署。

scanner目前是没有可视化界面,同时需要加入到path变量中加载,个人将其理解为jvm环境下运行的插件,它会根据sonarqube生成的命令直接在项目根目录下运行。

一、文件配置

进入到D:\DevelopSoft\Sonar\sonar-scanner-3.3.0.1492\conf文件目录下,选择NotePad++等编辑器打开配置文件sonar-scanner.properties,如下图。

打开配置文件后,发现新版的scanner文件注释内容较少,因此直接在下方加入Mysql节点配置情况。同sonarqube中的sonar.properties文件配置,如下图。

    注意,如果SonarQube不是本地,要配置IP地址。sonar.host.url=http://192.168.8.188:9000

二、环境变量配置
打开本地系统环境变量进行配置,如下图。
【此电脑】–右键【属性】–【高级系统设置】–【环境变量】

直接配置系统变量中的Path,在Path中新增D:\DevelopSoft\Sonar\sonar-scanner-3.3.0.1492\bin路径并保存。

还有一种方式是先新增用户变量在添加环境变量,但是如果直接新增path可以不用考虑。
a.新建变量,name=SONAR_RUNNER_HOME。value=D:\DevelopSoft\Sonar\sonar-scanner-3.3.0.1492\c
b.打开path,输入%SONAR_RUNNER_HOME%\bin;

三、环境测试

打开命令提示符窗口(不用管理员身份),输入sonar-scanner -version,如果配置成功出现版本信息,如下图。

四、SonarQube中创建项目

1.在SonarQube启动的web应用首页,选择【创建新项目】,如下图。

2.根据项目情况输入标识和名称,点击【设置】开始创建新项目,如下图。

3.在配置过程中,显示要创建令牌,这个令牌是在生成的命令中到项目根目录运行使用,如下图。


4.分析项目的设置,如果是选择Java有Maven和Gradle构建技术,这里我们选择其他(…),按照提示选择【Windows】操作系统,系统会自动生成运行命令,如下图。

   // 命令sonar-scanner.bat -D"sonar.projectKey=NESPS" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=8116e8c258415faa02ac2931f1c726f4fb056eca"

如果直接在项目根目录下运行该命令会报错如下,其实是需要在根目录中编辑配置文件,便于系统加载class类文件。
Please provide compiled classes of your project with sonar.java.binaries property

五、项目根目录加载配置

官方已经从sonarQube 4.12开始,sonar针对Java将会进行程序的动态检查,不配置sonar.java.binaries属性将会出错。
官方文档API:https://docs.sonarqube.org/display/PLUG/SonarJava

由于我的项目根目录为D:\Project\NESPS,因此在命令提示符中输入命令

> C:\Users\HadesZ>d:   #跳转到d盘
> D:\>cd /Project\NESPS
> D:\Project\NESPS>

在根目录下,新增sonar-project.properties配置文件并使用文本编辑器编辑,保存格式应为ANSI,配置内容如下。

sonar.projectKey=nesps  #项目key
sonar.projectName=nesps    #项目名称
sonar.projectVersion=1.0
sonar.sources=src #这里指的是项目存放java文件的位置,如果在根目录下则为src
#[重点]这里指的是项目class文件的位置,这里直接使用绝对路径,否则还是会出现错误提示
sonar.java.binaries=D:/Project/NESPS/WebRoot/WEB-INF/classes
sonar.language=java
sonar.sourceEncoding=UTF-8

保存配置文件后,重新在根目录下执行命令,正常情况下如下图。

在扫描文件的过程中如下图。


直到扫描完成后会出现如下提示。

INFO: SCM provider for this project is: svn
INFO: 101 files to be analyzed
INFO: 18/101 files analyzed
INFO: 65/101 files analyzed
INFO: 101/101 files analyzed
INFO: 1 file had no CPD blocks
INFO: Calculating CPD for 100 files
INFO: CPD calculation finished
INFO: Analysis report generated in 2209ms, dir size=3 MB
INFO: Analysis report compressed in 1503ms, zip size=1 MB
INFO: Analysis report uploaded in 762ms
INFO: ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard?id=NESPS
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at http://localhost:9000/api/ce/task?id=AWk4AuE6KUARVpHP4eO7
INFO: Analysis total time: 2:06.654 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 2:11.930s
INFO: Final Memory: 29M/813M
INFO: ------------------------------------------------------------------------

如果此时进入web应用不一定能马上刷新得到扫描结果,如下图所示,等待3-5分钟后重新刷新页面即可。

六、查看和使用Sonar扫描

在页面点击【项目】等待加载完成后,可以看到项目情况,根据提示进入修改即可,如下图。

在页面点击【问题】可以查看到每一个Bugs和漏洞情况,如下图。

题外话

如果成功扫描,在本地C:\Users\HadesZ.sonar用户目录下会找到相关文件,但目前不知道这些文件的用途。

以上,就是Sonar Qube连续代码质量管理从部署到使用的全部过程。

下篇将讲述使用Eclipse加载sonarlist插件使用Sonar检查代码。

Sonar Qube连续代码质量管理(三)sonar-scanner-3.3.0.1492在Windows环境下安装部署和代码检查使用相关推荐

  1. Sonar Qube连续代码质量管理(二)Sonar Qube7.6在Windows环境下安装部署和服务启停

    继续上篇内容,对Sonar Qube7.6在Windows 10环境下安装部署操作步骤进行分解,后期将会考虑在Linux上部署. 一.启动服务 进入到D:\DevelopSoft\Sonar\sona ...

  2. Windows环境下用cloc统计代码量

    cloc一款开源代码统计工具,支持windows和Linux环境.能统计指定文件夹或文件夹中文件数files.空白行数blank.注释行数comment和代码行数code.今天介绍windows环境下 ...

  3. Sonar Qube连续代码质量管理(一)熟悉Sonar Qube7.6和Scanner-3.3.0.1492

    前言 Sonar是一个管理代码质量的开放开源的平台,在我看来更多的把它理解成为一个对代码质量更好把控的工具.它可以快速的定位代码中潜在的或者明显的错误,可以从多个维度检测代码情况,提高项目源码的质量管 ...

  4. java 内存映射文件进程间通讯_[转]Windows环境下利用“共享内存”实现进程间通信的C/C++代码---利用CreateFileMapping和MapViewOfFile...

    进程间的通信方式有很多种, 上次我们说了最傻瓜的"共享外存/文件"的方法. 那么, 在本文中, 我们即将学习"共享内存"的方式实现进程间的通信, 这是IPC最快 ...

  5. 痞子衡嵌入式:在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将整个源文件代码重定向到任意RAM中的方法. 痞子衡旧文 <在IAR下将关键函数重定向到RAM中执行的方法> ...

  6. 琢石成器――windows环境下32位汇编语言程序设计(第三版)笔记

    琢石成器――windows环境下32位汇编语言程序设计(第三版)笔记 2011年12月20日 基础篇 第1章 背景知识 1 1.1 Win32的软硬件平台 1.1.1 80x86系列处理器简史 1.1 ...

  7. Windows环境下通过Git来管理自己的Android代码

    前面已经介绍了在Windows下使用git工具来下载Android的源代码,Windows环境下通过Git得到Android源代码,这里记录我使用git工具来管理我自己的代码,git是一种分布式的项目 ...

  8. Redis批量删除Key的三种方式(linux和windows环境下都有)

    Redis 中有删除单个 Key 的指令 del,网上资料大多数都说没有批量删除 Key 的指令,是否真这样有待再次确定,不过我们可以借助 Linux的 xargs 指令来完成这个动作,redis本身 ...

  9. VScode使用记录二:Windows 7下安装GCC、使用VSCode编译代码

    目录 一.概述 二.安装 2.1 GCC编译器 2.2 安装VSCode 2.3 安装插件 三.编译文件 3.1 编译单个文件 3.2 编译多个文件 四.调试程序 一.概述 平时都是在keil下工作, ...

最新文章

  1. 单独使用 EHCache
  2. Git Gitlab 使用指南
  3. 博客转向 github pages
  4. 普通人的经验和技能交易平台
  5. tp5易支付完整版源码
  6. 质量故事(4)---割草的男孩
  7. python显示当前日期_python显示当前时间
  8. mongodb排序_MongoDB排序
  9. js学习笔记(新手向)
  10. python 灰度图像转彩色_彩色图像--伪彩处理 灰度图转伪彩色图像
  11. Visio2010正确的安装步骤
  12. SPSS教程:单因素重复测量方差分析,超详细图文教程
  13. 原创C#Winform桌面应用中实用又美观的开关控件源码分享
  14. 赵伯平--警惕台湾的企业管理垃圾!
  15. java写入html文件乱码,java写入到html文件 打开是乱码
  16. 消防工程师知识点:规范中关于高差10米的规定汇总(附带练习题)众智博睿
  17. JavaScript对象与内置对象——内置对象(二)
  18. XML和Schema命名空间详解---实例篇
  19. js判断字符串是不是一个纯数字
  20. redis安装(主从)

热门文章

  1. c语言之if...else之语句
  2. 一级计算机水平考试ppt,全国一级计算机等级考试.ppt
  3. 啊哈!算法—火柴棍等式
  4. Linux 驱动开发 | 驱动世界里的宏伟建筑
  5. signature=238addc09a2ed2eedaa03f702842ebad,適用於數位內容交易的安全浮水印協定
  6. 松下BQ-830充电器的改造
  7. CTA 敏感行为 索引表
  8. MySQL-关系型数据库
  9. python爬取有声小说_听说还有付费听书的朋友,用python带你爬取喜马拉雅有声小说...
  10. 两条平行线相交于一点