写在前面

SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量。

SonarQube的流行,在于以下几点:

  • 开源
  • 支持超过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停止运行**。停止方法:关闭 StartSonar.bat,并在任务管理器中,关闭所有java进程。

配置系统变量

新建系统变量 SONAR_HOME,指向SonarQube根目录,并在系统变量`path`中追加注册 %SONAR_HOME%\bin。

安装服务

打开 StartSonar.bat 文件所在目录,运行文件 InstallNTService.bat 安装服务即可。

数据库支持

Sonar需要数据库支持,在官方文档中,列出了所支持的数据库类型和版本。JDBC所需的jar包都放在了 ../lib/jdbc 文件夹中。

以MySql为例:

  1. CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
  2. CREATE USER 'sonar' IDENTIFIED BY 'sonar';
  3. GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
  4. GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
  5. FLUSH PRIVILEGES;

配置文件

建好数据库后,需在配置文件中写入数据库信息。

  1. sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&
  2. useConfigs=maxPerformance
  3. sonar.jdbc.username=sonar
  4. sonar.jdbc.password=sonar
  5. score.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服务地址,编码,登录名和密码,以及数据库配置。

  1. sonar.host.url=http://localhost:9000
  2. sonar.sourceEncoding=UTF-8
  3. sonar.login=admin
  4. sonar.password=admin
  5. sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
  6. sonar.jdbc.username=sonar
  7. sonar.jdbc.password=sonar

项目配置文件

在目标项目的根目录下,创建`sonar-project.properties`配置文件。内容如下:

  1. #必要属性,项目唯一标识
  2. sonar.projectKey=
  3. #必要属性,项目版本
  4. sonar.projectVersion=1.0.0
  5. #必要属性,项目语言
  6. sonar.language=java
  7. #必要属性,项目编码
  8. sonar.sourceEncoding=UTF-8
  9. #可选属性,项目名称
  10. sonar.projectName=
  11. #可选属性,源代码目录(多个目录用逗号分隔)
  12. sonar.sources=

发布项目

在cmd中,进入项目根路径,输入命令:sonar-runner,将项目发布到Sonar服务中。

如果出现 EXECUTION SUCCESS,则发布成功!
此时,打开Sonar服务,即可看到项目代码质量报告!


Eclipse插件--SonarLint

SonarLint是Eclipse最新版的Sonar插件。经测试,此插件适用不低于Mars版本的Eclipse。

在线安装

打开Eclipse的 Help → Marketplace  搜索 SonarLint,执行Install,重启Eclipse。

配置

新建 sonarLint:

填写Sonar服务信息:

代码审查

在目标项目上右键弹窗,点击 SonarLint → Analyze changed files 即可。

此时,我们就可以在项目代码中,看到蓝色下划线,在 SonarLint On-The-Fly 视图中,看到审查信息了:

 

代码质量管理工具——SonarQube的更多相关文章

  1. SonarQube代码质量管理工具的升级(sonarqube6.2 + sonar-scanner-2.8 + MySQL5.6+)

    SonarQube升级注意事项 0. 前提条件 如果之前是使用sonarqube5.2 + sonar-runner-2.4 +MySQL5.5版本或者类似的组合. 安装方法请参照SonarQube代 ...

  2. 程序员必备!Sonar代码质量管理工具

    Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具. Sonar 概述 Sonar 是一个用于代码质量管理的开放平台.通过插 ...

  3. SonarQube代码质量管理工具的安装(Linux)

    一.安装配置sonar 1.Sonar介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具, ...

  4. 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 ...

  5. 代码质量管理工具 sonar 配置

    代码检查工具有很多findBugs等等 sonar配置: 1.下载sonar 5.5, 解压,运行 sonarqube-5.5\bin\windows-x86-64\StartSonar.bat , ...

  6. Sonar代码质量管理工具

    最近上线了,Sonar代码扫描工具: 与jenkins集成: 实现自动扫描: 下面来简单聊聊Sonar能解决什么问题: ---------------------- Sonar简介 Sonar是一个用 ...

  7. Android 代码检查工具SonarQube

    http://blog.csdn.net/rain_butterfly/article/details/42170601 代码检查工具能帮我们检查一些隐藏的bug,代码检查工具中sonar是比较好的一 ...

  8. Objective C静态代码扫描和代码质量管理 OClint + SonarQube

    OClint是针对C, C++及Objective C代码的静态扫描分析工具,而SonarQube是一个开源的代码质量管理平台.本文将实现将OClint的扫描结果导入到SonarQube中,已实现对O ...

  9. 代码检查工具sonarqube介绍及使用

    亲测有效 环境:springboot+gradle+jdk1.8+sonarqube7.4 一.说明: SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速 ...

随机推荐

  1. MySQL多实例安装

    1.安装MySQL需要的依赖的包和编译软件   (1)安装MySQL需要的依赖包 安装MySQL之前,最好先安装MySQL需要的依赖包,不然后面会出现报错,还得回来安装MySQL的依赖包. [root ...

  2. Eclipse调试Android App若选择“Use same device for future launches”就再也无法选择其他设备的问题

    在狂批了某供应商的多媒体控制App有多烂后,夸下海口自己要做一个也是分分钟的事.当然要做好不容易,要超过他们的烂软件还是有信心的.过程中遇到各种坑,其中之一如下 刚开始只使用一个平板进行调试,老是弹出 ...

  3. mysql-5.7.9-winx64在windows上安装遇到的一些问题

    mysql5.7.9版本以上在windwos上安装时会遇到无法启动但是没有任何报错的问题,那是因为5.7.9以上的版本在MySQL目录下会缺少data目录: Data目录下存储的是一些表文件,用来描述 ...

  4. 2.lvm动态逻辑卷

    Lvm动态逻辑卷 一.             基本概念 LVM 把实际的物理磁盘数据映射到一个简单而灵活的虚拟逻辑存储视图上,藉以控制磁盘资源: 也就是重新考虑了管理文件系统和卷的方法,在文件系统管 ...

  5. netty学习资料

    netty学习资料推荐官方文档和<netty权威指南>和<netty in action>这两本书.下面收集下网上分享的资料 netty官方参考文档 Netty 4.x Use ...

  6. stm32 usb error : identifier "bool" is undefined

    .\usb\USB\usb_pwr.h(54): error:  #20: identifier "bool" is undefinedusb\USB\usb_pwr.h(54): ...

  7. Linux下如何遍历指定目录下的所有文件并删除指定天数之前创建的文件

    脚本内容如下: #!/bin/bash function delete_file { days=$[$-] for i in `find $dir -type f -ctime +$days` do ...

  8. 搭建一套自己实用的.net架构(3)【ORM-Dapper+DapperExtensions】

    现在成熟的ORM比比皆是,这里只介绍Dapper的使用(最起码我在使用它,已经运用到项目中,小伙伴们反馈还可以). 优点: 1.开源.轻量.小巧.上手容易. 2.支持的数据库还蛮多的, Mysql,S ...

  9. AppBoxPro - 细粒度通用权限管理框架(可控制表格行内按钮)源码提供下载

    特别声明: 提供的源代码已经包含了 AppBoxPro 的全部源代码,用 VS2012 打开项目后,直接 Ctrl+F5 可以运行起来(默认使用VS自带的LocalDB数据库). FineUIPro是 ...

  10. Ubuntu下基于Saprk安装Zeppelin

    前言 Apache Zeppelin是一款基于web的notebook(类似于ipython的notebook),支持交互式地数据分析,即一个Web笔记形式的交互式数据查询分析工具,可以在线用scal ...