zoukankan      html  css  js  c++  java
  • 程序员必备!Sonar代码质量管理工具

    Sonar 是一个用于代码质量管理的开放平台。通过插件机制,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 添加插件

    插件添加方式:

    1. 插件的下载地址为:http://docs.codehaus.org/display/SONAR/Plugin+Library,将下载后的插件上传到${SONAR_HOME}extensionsplugins目录下,重新启动sonar。
    2. 在Sonar控制面板也可以添加插件

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

    1. Java [sonar-java-plugin]:java源代码解析,计算指标等
    2. Squid [sonar-squid-java-plugin]:检查违反Sonar定义规则的代码
    3. Checkstyle [sonar-checkstyle-plugin]:使用CheckStyle检查违反统一代码编写风格的代码
    4. FindBugs [sonar-findbugs-plugin]:使用FindBugs检查违反规则的缺陷代码
    5. PMD [sonar-pmd-plugin]:使用pmd检查违反规则的代码
    6. Surefire [sonar-surefire-plugin]:使用Surefire执行单元测试
    7. Cobertura [sonar-cobertura-plugin]:使用Cobertura获取代码覆盖率
    8. JaCoCo [sonar-jacoco-plugin]:使用JaCOCO获取代码覆盖率

    Sonar 集成项目

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

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

    1. mvn clean install
    2. mvn sonar:sonar

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

    1. <profiles
    2.     <profile
    3.         <id>sonar</id
    4.         <activation
    5.             <activeByDefault>true</activeByDefault
    6.         </activation
    7.         <properties
    8.             <!-- optional URL to server. Default value is http://localhost:9000 --> 
    9.             <sonar.host.url>http://localhost:9000/</sonar.host.url
    10.         </properties
    11.     </profile
    12.  </profiles

    集成发布成功:

    Sonar 数据库

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

    Sonar 汉化

    1. 下载http://repository.codehaus.org/org/codehaus/sonar-plugins/l10n/sonar-l10n-zh-plugin/1.2/sonar-l10n-zh-plugin-1.2.jar 
    2. 把下载的压缩包放到sanar安装目录下的/extensions/plugins 中 
    3. 重启Sonar server 

    结束语

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

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

  • 相关阅读:
    SpringMVC拦截器
    SpringMVC异常
    SpringMVC文件上传
    SpringMVC返回值类型
    JVM字节码
    使用Apache JMeter进行测试
    Tomcat优化
    垃圾收集器
    GC常见算法
    VisualVM远程连接Tomcat
  • 原文地址:https://www.cnblogs.com/zhengah/p/5201055.html
Copyright © 2011-2022 走看看