Sonar代码质量管理工具

【说明】 本文转载自:http://dev.yesky.com/439/35432939.shtml

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

  Sonar 概述

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

  与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

  在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。

  此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

  Sonar 安装

  到Sonar官网下载最新的发行版,下载zip包后解压到没有中文名的目录下,默认集成了jetty容器,可以直接启动提供服务,也可以通过脚本构建为war包,部署在tomcat容器中。

  bin目录下选择相应平台,脚本启用。(Windows点击StartSonar.bat)

  然后在浏览器中访问:http://localhost:9000/

  Sonar 添加插件

  插件添加方式:

  插件的下载地址为:http://docs.codehaus.org/display/SONAR/Plugin+Library,将下载后的插件上传到${SONAR_HOME}extensions\plugins目录下,重新启动sonar。

  在Sonar控制面板也可以添加插件

  Sonar默认集成了Java Ecosystem插件,该插件是一组插件的合集

  Java [sonar-java-plugin]:java源代码解析,计算指标等

  Squid [sonar-squid-java-plugin]:检查违反Sonar定义规则的代码

  Checkstyle [sonar-checkstyle-plugin]:使用CheckStyle检查违反统一代码编写风格的代码

  FindBugs [sonar-findbugs-plugin]:使用FindBugs检查违反规则的缺陷代码

  PMD [sonar-pmd-plugin]:使用pmd检查违反规则的代码

  Surefire [sonar-surefire-plugin]:使用Surefire执行单元测试

  Cobertura [sonar-cobertura-plugin]:使用Cobertura获取代码覆盖率

  JaCoCo [sonar-jacoco-plugin]:使用JaCOCO获取代码覆盖率

  Sonar 集成项目

  提供Maven项目的集成,其他结构的项目暂不清楚。

  进入项目根目录下,先编译安装,然后利用maven集成的sonar插件发布。

  mvn clean install

  mvn sonar:sonar

  Maven 插件会自动把所需数据(如单元测试结果、静态检测结果等)上传到 Sonar 服务器上,需要说明的是,关于 Sonar 的配置并不在每个工程的 pom.xml 文件里,而是在 Maven 的配置文件 settings.xml 文件里,具体配置如下:

   sonar true http://localhost:9000/

  集成发布成功:

  Sonar 数据库

  Sonar默认使用h2文本数据库,数据库连接的配置在 conf目录下的 sonar.properties文件 或者在项目发布时通过maven配置参数覆盖

  Sonar 汉化

  下载http://repository.codehaus.org/org/codehaus/sonar-plugins/l10n/sonar-l10n-zh-plugin/1.2/sonar-l10n-zh-plugin-1.2.jar

  把下载的压缩包放到sanar安装目录下的/extensions/plugins 中

  重启Sonar server

  结束语

  Sonar 为代码的质量管理提供了一个平台,对传统的代码静态检测如 PMD、FindBugs 等工具进行整合,可以说是目前最强大的代码质量管理工具之一。

  原文链接:http://my.oschina.net/u/1264515/blog/177862

(作者:开源中国责任编辑:王玉平)

欢迎在新浪微博上关注我们

最新 最早 最热

  • 还没有评论,沙发等你来抢

天极网正在使用多说

此条目发表在未分类分类目录,贴了标签。将固定链接加入收藏夹。