代码检查工具 Sonar 安装&使用
本文主要说明Sonar的安装方式并附上依赖安装包,本文目标只实现本地搭建测试的Sonar环境,以及本地的测试项目的非定制化扫描
本机测试环境:Win10-X64,.vs2017
依赖包:
1.SDK Java的东东
2.sonarqube 静态代码检查工具,B/S
3.sonar-scanner-msbuild 真正的代码扫面工具
Soanr的代码检测的实现机制,就是通过客户端的工具对代码进行扫描,然后发送到 sonarqube,然后进行结果报告查看
开始安装:
1.首先安装SDK,安装完成之后,配置相应的path环境变量,打开cmd输入java,如下图代表安装成功:

2.安装Sonar
下载Sonar ,下载地址 :https://www.sonarqube.org/downloads/

解压下载包之后,执行 bin\windows-x86-64\StartSonar.bat

如上图,代表启动成功,浏览器输入:http://localhost:9000/ 即可访问,已经默认内置了管理员账号:admin / admin

3.配置中文包
如何打开配置中文包呢?

安装之后需要重启才能生效

如何强制停止sonar服务呢? 打开任务管理器,关闭 Java进程

4.安装包 sonar-scanner-msbuilld
canner包就是真正进行代码扫面的工具包
下载后解压至任意目录即可,这里直接放到了c:\sonar
开始使用
1.新建项目
填写项目的关键信息即可,选择项目开发语言


2.扫描项目三部曲
这里的三步曲就是sonar新建项目中的最后步骤的扫描教程,分为三步
1.配置环境变量,也就是下载的Sonar-Canner-Msbuild 中 SonarScanner.MSBuild.exe的位置
2.进行项目解决方案所在的目录,也就是 sln 文件所在目录,打开cmd命令 执行如下命令,下面的命令是根据创建项目时生成的需要复制出来
a.SonarScanner.MSBuild.exe begin /k:"Mytest" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b"
b.MsBuild.exe /t:Rebuild
c.SonarScanner.MSBuild.exe end /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b"
执行效果如下:
如果MsBuild.exe /t:Rebuild 报错,需要解决项目中的问题,这是编译报错,下图为编译成功,且报告已经上传到SonarQube ,可以到 http://localhost:9000 查看具体报告


3.查看项目扫描报告
查看报告

这里提供一个批处理,配合上述的放入c:\sonar,使用如下命令即可一部完成代码分析并上报, 新建sonar.bat文件,copy如下命令,将soanr.bat放入项目sln目录中,双击运行即可
echo off c:\sonar\SonarScanner.MSBuild.exe begin /k:"项目名称需要替换" /d:sonar.host.url="http://localhost:9000" /d:sonar.login="项目Key,创建项目时生成,需要复制"
::编译代码
set "msbuildPath="
set "msbuildPath14=%ProgramFiles(x86)%\MSBuild\14.0\Bin\MSBuild.exe"
set "msbuildPath15=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\msbuild.exe"
if exist "%msbuildPath14%" set "msbuildPath=%msbuildPath14%"
if exist "%msbuildPath15%" set "msbuildPath=%msbuildPath15%"
if "%msbuildPath%" == "" goto nomsbuild
"%msbuildPath%" /t:Rebuild c:\sonar\SonarScanner.MSBuild.exe end /d:sonar.login="d8fb95b33c46b1a755e9f93ca0ee62e7bb36591b" echo 扫描完成
pause :nomsbuild
echo 没有找到MSBUILD
pause :exit
代码检查工具 Sonar 安装&使用的更多相关文章
- 基于Source Insight_Scan的C/C++静态代码检查工具安装说明
基于Source Insight_Scan的C/C++静态代码检查工具安装说明 本文链接:https://blog.csdn.net/M19930517/article/details/79977 ...
- Android 代码检查工具SonarQube
http://blog.csdn.net/rain_butterfly/article/details/42170601 代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一 ...
- 代码质量管理工具 sonar 配置
代码检查工具有很多findBugs等等 sonar配置: 1.下载sonar 5.5, 解压,运行 sonarqube-5.5\bin\windows-x86-64\StartSonar.bat , ...
- 【FLYabroad 】微软内部代码检查工具 (Microsoft Source Analysis for C#)[转]
SourceAnalysis (StyleCop)的终极目标是让所有人都能写出优雅和一致的代码,因此这些代码具有很高的可读性. 早就听说了微软内部的静态代码检查和代码强制格式美化工具 StyleCop ...
- 静态代码检查工具 cppcheck 的使用
CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检查就是使用一个工具检查我们 ...
- 静态代码检查工具 cppcheck 的使用(可分别集成到VS和QT Creator里)
CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检查就是使用一个工具检查我们写的 ...
- 代码静态分析工具PC-LINT安装配置
代码静态分析工具PC-LINT安装配置--step by step 作者:ehui928 ...
- 代码检查工具jshint和csslint
前面的话 Douglas Crockford大神根据自己的理念用JavaScript写了一个JavaScript代码规范检查工具,这就是JSLint.后来非常流行,也的确帮助了广大的JavaScrip ...
- CSS代码检查工具stylelint
前面的话 CSS不能算是严格意义的编程语言,但是在前端体系中却不能小觑. CSS 是以描述为主的样式表,如果描述得混乱.没有规则,对于其他开发者一定是一个定时炸弹,特别是有强迫症的人群.CSS 看似简 ...
随机推荐
- Micro LED巨量转移技术研究进展
近年来,Micro LED因其功耗低.响应快.寿命长.光效率高等特点,被视为继LCD.OLED之后的新一代显示面板技术.Micro LED的英文全名是Micro Light Emitting Diod ...
- neutron plugin 与 extension 编写流程
原文链接:neutron plugin 与 extension 编写流程 参考: 怎样写 OpenStack Neutron 的 Plugin (一)怎样写 OpenStack Neutron 的 P ...
- 区块链入门到实战(24)之以太坊(Ethereum) – 网络节点
用途: 全节点:用于区块和交易的校验 轻节点:电子钱包 以太坊(Ethereum)网络是一个公共的区块链网络,网络中包含2种网络节点: 全节点 轻节点 全节点 包含了从初始区块开始的全部区块,这些区块 ...
- 不同SEO对长尾关键词的不同做法
http://www.wocaoseo.com/thread-122-1-1.html 长尾关键词指的是除目标关键词能带来搜索流量的关键词称之长尾关键词,它为一般由几个词语或短语组成,而且随 ...
- WPF 使用WindowChrome自定义窗体 保留原生窗体特性
本文大幅度借鉴dino.c大佬的文章 https://www.cnblogs.com/dino623/p/uielements_of_window.html https://www.cnblogs.c ...
- Xutils 的框架问题retry error, curr request is null Android开发之网络请问问题
没有网络权限也能导致这个问题 也可能是因为模拟机没联网的问题
- Sql 注入----学习笔记
先了解下CRLF,CRLF常用在分隔符之间,CR是carriage retum(ASCII 13,\r) LF是Line Feed (ASCII 10,\n), \r\n这两个字符类似于回车是用于换行 ...
- Unity动态绑定按钮触发方法
在使用unity制作UI的过程中,基本都需要接触到按钮,然后按钮要起作用的话,那么就需要为按钮绑定响应方法. 为按钮绑定触发的方法,我知道的有两种方法,第一种:手动使用unityEditor 绑定,另 ...
- HashMap位运算你可知一二
前置位运算知识 我们平时在写代码过程中用的位运算操作比较少,因为我们更关注于可读性而不是性能,如果为了性能而使用较多的位运算,我想我们的同事会疯掉.但在框架里位运算却非常常见,因为框架的性能是我们关注 ...
- Inscribed Figures(思维)
The math faculty of Berland State University has suffered the sudden drop in the math skills of enro ...