代码质量管理工具——SonarQube
写在前面
SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量。
- 开源
- 支持超过25种语言
- 可以通过ecplise等IDE集成,简便使用
- 详细的文档
资源
Sonar [官网],可能需要翻墙访问。
Sonar [下载]及[文档]
SonarQube Scanners (扫描器)[下载及文档]
安装Sonar
下载解压
下载好SonarQube压缩包,解压后,打开根目录下的 ../bin 文件夹,然后根据系统环境,打开对应下级目录中的 StartSonar.bat 批处理文件,尝试启动SonarQube。
如:当前系统为win10的64位系统,则打开 .../bin/windows-x86-64/StartSonar.bat 文件。
测试
启动浏览器,访问 http://localhost:9000 。如访问成功,则表示Sonar正常。如访问失败,则可以在 ../logs/sonar.log 文件中查看日志。
启动Sonar
操作以下步骤前,请先将Sonar停止运行。
配置系统变量
新建系统变量 SONAR_HOME,指向SonarQube根目录,并在系统变量`path`中追加注册 %SONAR_HOME%\bin。
安装服务
打开 StartSonar.bat 文件所在目录,运行文件 InstallNTService.bat 安装服务即可。
数据库支持
Sonar需要数据库支持,在官方文档中,列出了所支持的数据库类型和版本。JDBC所需的jar包都放在了 ../lib/jdbc 文件夹中。
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;CREATE USER 'sonar' IDENTIFIED BY 'sonar';GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';FLUSH PRIVILEGES;
配置文件
建好数据库后,需在配置文件中写入数据库信息。
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformancesonar.jdbc.username=sonarsonar.jdbc.password=sonarscore.jdbc.driverClassName=com.mysql.jdbc.Driver
测试
启动Sonar,当次启动因Sonar会初始化数据库,耗时20分钟左右,需耐心等待。
启动后,可尝试登录Sonar,初始用户名:admin,密码:admin。
中文插件
登录Sonar后,打开 Administrator → System → Available,然后搜索 chinese Pack,点击 Install 按钮安装,然后根据指引重启Sonar服务,即可看到中文界面。另外,也可以从[GitHub]下载插件jar包,然后放在路径 ../extensionsplugins 下,重启Sonar服务。下载前,请查看[文档说明],注意版本对应。
安装Sonar Scanner
Sonar Scanner是用于将项目发布到Sonar进行审查的工具,曾用名Sonar Runner。如果项目使用Maven,请根据Scanner的[官方文档]进行配置。
下载解压
下载好Sonar Scanner压缩包,并解压。
配置系统变量
新建系统变量 SONAR_SCANNER_HOME,指向Sonar Scanner的根目录,并在系统变量`path`中追加注册`%SONAR_SCANNER_HOME%\bin`。
全局配置文件
打开配置文件 ../conf/sonar-scanner.properties,写入Sonar服务地址,编码,登录名和密码,以及数据库配置。
sonar.host.url=http://localhost:9000sonar.sourceEncoding=UTF-8sonar.login=adminsonar.password=adminsonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8sonar.jdbc.username=sonarsonar.jdbc.password=sonar
项目配置文件
在目标项目的根目录下,创建`sonar-project.properties`配置文件。内容如下:
#必要属性,项目唯一标识sonar.projectKey=#必要属性,项目版本sonar.projectVersion=1.0.0#必要属性,项目语言sonar.language=java#必要属性,项目编码sonar.sourceEncoding=UTF-8#可选属性,项目名称sonar.projectName=#可选属性,源代码目录(多个目录用逗号分隔)sonar.sources=
发布项目
在cmd中,进入项目根路径,输入命令:sonar-runner,将项目发布到Sonar服务中。
此时,打开Sonar服务,即可看到项目代码质量报告!

Eclipse插件--SonarLint
SonarLint是Eclipse最新版的Sonar插件。经测试,此插件适用不低于Mars版本的Eclipse。
在线安装
打开Eclipse的 Help → Marketplace 搜索 SonarLint,执行Install,重启Eclipse。
配置
新建 sonarLint:
填写Sonar服务信息:
在目标项目上右键弹窗,点击 SonarLint → Analyze changed files 即可。
代码质量管理工具——SonarQube的更多相关文章
- SonarQube代码质量管理工具的升级(sonarqube6.2 + sonar-scanner-2.8 + MySQL5.6+)
SonarQube升级注意事项 0. 前提条件 如果之前是使用sonarqube5.2 + sonar-runner-2.4 +MySQL5.5版本或者类似的组合. 安装方法请参照SonarQube代 ...
- 程序员必备!Sonar代码质量管理工具
Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具. Sonar 概述 Sonar 是一个用于代码质量管理的开放平台.通过插 ...
- SonarQube代码质量管理工具的安装(Linux)
一.安装配置sonar 1.Sonar介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具, ...
- SonarQube代码质量管理工具安装与使用(sonarqube5.1.2 + sonar-runner-dist-2.4 + MySQL5.x)
1. SonarQube安装(sonarqube5.1.2 + sonar-runner-dist-2.4) 1.1 前提条件 1) 已安装Java环境(version:1.7+) 2) 已安装MyS ...
- 代码质量管理工具 sonar 配置
代码检查工具有很多findBugs等等 sonar配置: 1.下载sonar 5.5, 解压,运行 sonarqube-5.5\bin\windows-x86-64\StartSonar.bat , ...
- Sonar代码质量管理工具
最近上线了,Sonar代码扫描工具: 与jenkins集成: 实现自动扫描: 下面来简单聊聊Sonar能解决什么问题: ---------------------- Sonar简介 Sonar是一个用 ...
- Android 代码检查工具SonarQube
http://blog.csdn.net/rain_butterfly/article/details/42170601 代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一 ...
- Objective C静态代码扫描和代码质量管理 OClint + SonarQube
OClint是针对C, C++及Objective C代码的静态扫描分析工具,而SonarQube是一个开源的代码质量管理平台.本文将实现将OClint的扫描结果导入到SonarQube中,已实现对O ...
- 代码检查工具sonarqube介绍及使用
亲测有效 环境:springboot+gradle+jdk1.8+sonarqube7.4 一.说明: SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速 ...
随机推荐
- Monthly Income Report – August 2016
原文链接:https://marcoschwartz.com/monthly-income-report-august-2016/ Every month, I publish a report of ...
- Warm myself by my hand
周末的尾巴了. 前几天白日里的气温降到10摄氏度以下,穿上了秋裤.隔天跑一次步,晚上九点多,5公里,25分钟左右.换上薄薄的运动裤,两件运动衣.一出宿舍门就没觉得冷,跑着跑着就愈加热了起来.遇到的问题 ...
- JS中typeof与instanceof的区别
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: Typeof typeof 是一个一元运算,放在一个运算数之前 ...
- 安装CentOS7文字界面版后,无法联网,用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法
*无法联网的明显表现会有: 1.yum install出现 Error: cannot find a valid baseurl or repo:base 2.ping host会提示unknown ...
- [LeetCode] Serialize and Deserialize BST 二叉搜索树的序列化和去序列化
Serialization is the process of converting a data structure or object into a sequence of bits so tha ...
- JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)
前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...
- 用vue.js学习es6(三):数组、对象和函数的解构
一.数组的解构: 以前的方式: var arr = [1,2,3]; console.log(arr[0]); //1 console.log(arr[1]); //2 现在的方式: var [a,b ...
- 0103MySQL中的B-tree索引 USINGWHERE和USING INDEX同时出现
转自博客http://www.amogoo.com/article/4 前提1,为了与时俱进,文中数据库环境为MySQL5.6版本2,为了通用,更为了避免造数据的痛苦,文中所涉及表.数据,均来自于My ...
- ViewController的生命周期分析和使用
iOS的SDK中提供很多原生ViewController,大大提高了我们的开发效率,下面是我的一些经验. 一.结构 按结构可以对iOS的所有ViewController分成两类:1.主要用于展示内容的 ...
- mybatis返回数据类型为map,值为null的key没返回
创建mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...